\b;Arrays
Ein Array (auch Feld genannt) ist eine nummerierte Ansammlung von Variablen vom gleichen Typ oder von der gleichen Klasse. In CBOT können Sie n-dimensionale Arrays benutzen. Jede Dimension ist auf 9999 Elemente beschränkt. Benutzen Sie eckige Klammern \c;[]\n; nach dem Typ oder dem Variablennamen für die Deklaration eines Arrays.
\c;
\s;int    [ ] a;   // an array of int
\s;int    a [12];  // an array of int limited to 12 elements
\s;string s[3];    // an array of 3 strings
\s;float  xy[][];  // a 2 dimensionnal array of floats
\n;
Wenn der CBOT-Interpreter eine Array-Deklaration antrifft, wird die Variable als ein \c;\l;Null\u cbot\null;\n;-\l;Zeiger\u cbot\pointer; initialisiert:
\c;
\s;int a[5];  // a enthält einen Null-Zeiger
\n;
Sobald Sie einer Variable des Arrays einen Wert zuweisen, werden die Elemente erstellt, und die Variable zeigt auf diese Elemente:
\c;
\s;a[2] = 213;  // a zeigt auf die
\s;             // 3 Elemente [0], [1] und [2]
\n;
Nach dieser Zuweisung zeigt \c;a\n; auf die Elemente des Arrays. Die Elemente \c;[0]\n; und \c;[1]\n; wurden erstellt, aber noch nicht definiert: Ihnen wurde noch kein Wert zugewiesen. Mit dem Befehl \c;\l;sizeof\u cbot\sizeof;\n; können Sie die Anzahl Elemente in einem Array abfragen.

Wenn ein Array mit einer Maximalgröße deklariert wird, hält das Programm mit einer Fehlermeldung an, sobald die Maximalgröße überschritten wird. Dies geschieht jedoch erst bei der Ausführung, bei der Komplilation werden solche Fehler nicht erkannt, auch wenn sie "offensichtlich" sind:
\c;
\s;{
\s;	int a[5];
\s;	a[7] = 123;  // Keine Fehlermeldung bei der
\s;	             // Kompilation, erst beim Ausführen
\s;}
\n;
Wenn Sie ein Array als Parameter an eine \l;Funktion\u cbot\function; übergeben, erhält die Funktion nur einen \l;Zeiger\u cbot\pointer; auf das Array. Wenn Elemente des Array in der Funktion verändert werden, werden diese Veränderungen sich auch auf die Funktion auswirken, die diese Funktion aufgerufen hat.

\b;Initialization syntax
You can initialize a new array using the following syntax:
\c;
\s;type arrayName[] = { value0, value1, value2, ..., valueN };
\n;
Beispiele:
\c;
\s;int numbers[] = { 10, 20, 30 };
\s;MyClass objects[] = { new MyClass(1), new MyClass(2) };
\n;

\t;Siehe auch
Die \l;CBOT-Sprache\u cbot;, \l;Variablentypen\u cbot\type; und \l;Kategorien\u cbot\category;.
