\b;Tablice
Tablica jest zestawem obiektów tego samego typu lub klasy. W języku CBOT można używać N wymiarowych tablic. Każdy wymiar jest ograniczony do 9999 elementów. Aby zadeklarować tablicę, należy użyć nawiasów kwadratowych \c;[]\n; po nazwie zmiennej lub nazwie typu.
\c;
\s;int    [ ] a;   // tablica typu całkowitego
\s;int    a [12];  // tablica typu całkowitego ograniczona do 12 elementów
\s;string s[3];    // tablica 3 łańcuchów znaków
\s;float  xy[][];  // 2-wymiarowa tablica liczb zmiennoprzecinkowych
\n;
W rzeczywistości, gdy interpreter języka CBOT napotka deklarację tablicy, tworzy jedynie \l;wskaźnik\u cbot\pointer; \c;\l;null\u cbot\null;\n;:
\c;
\s;int a[5];  // jest teraz wskaźnikiem null
\n;
Z chwilą wstawienia wartości do tablicy, tworzone są elementy i inicjalizowany jest wskaźnik:
\c;
\s;a[2] = 213;  // tablica a wskazuje na
\s;             // 3 elementy: [0], [1] i [2]
\n;
Po tej operacji, zmienna \c;a\n; zawiera wskaźnik do elementów tablicy. Elementy \c;[0]\n; i \c;[1]\n; są tworzone, ale nie inicjalizowane, gdyż tablica nie może zawierać pustych elementów. Instrukcja \c;\l;sizeof\u cbot\sizeof;\n; umożliwia sprawdzenie liczby elementów tablicy.

Gdy określony jest rozmiar maksymalny deklarowanej tablicy, program zatrzyma się w przypadku próby dostępu poza tablicę. Błąd ten nie jest sygnalizowany podczas kompilacji, nawet jeśli jest oczywisty:
\c;
\s;{
\s;	int a[5];
\s;	a[7] = 123;  // nie ma błędu podczas kompilacji
\s;	             // ale pojawia się podczas działania programu
\s;}
\n;
Jeśli tablica przekazywana jest jako parametr \l;funkcji\u cbot\function;, funkcja otrzymuje jedynie \l;wskaźnik\u cbot\pointer; do tablicy. Oznacza to, że w przypadku modyfikacji elementu tablicy wewnątrz funkcji, zostanie w rzeczywistości zmodyfikowany element tablicy przekazanej funkcji jako parametr.

\b;Składnia inicjalizacji
Możesz zainicjować nową tablicę, używając poniższej składni:
\c;
\s;typ nazwaTablicy[] = { wartość0, wartość1, wartość2, ..., wartośćN };
\n;
Przykłady:
\c;
\s;int numery[] = { 10, 20, 30 };
\s;MojaKlasa obiekty[] = { new MojaKlasa1(1), new MojaKlasa2(2) };
\n;

\t;Zobacz również
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.
