\b;Массивы
Массив - это в основном набор переменных того же типа и класса. Вы можете использовать н-ное количество массивов в языке CBOT, однако максимальный размер массива равен 9999 элементов. Вы должны использовать квадратные скобки \c;[]\n; после того, как объявили массив.
\c;
\s;int    [ ] a;   // целочисленный массив
\s;int    a [12];  // целочисленный массив, где максимум 12 элементов
\s;string s[3];    // массив с тремя строчками
\s;float  xy[][];  // двумерный массив плавающей запятой
\n;
На самом деле, когда компилятор CBOT встречает объявление массива, то он просто создает \c;\l;null\u cbot\null;\n; \l;ссылку\u cbot\pointer;:
\c;
\s;int a[5];  // просто пустая ссылка
\n;
Как только вы поместите значения в массив, элементы создаются и ссылки инициализируются:
\c;
\s;a[2] = 213;  // указывает на
\s;             // три элемента [0], [1] и [2]
\n;
После этой операции, \c;a\n; содержит ссылки на элементы массива. Элементы \c;[0]\n; и \c;[1]\n; созданы, однако не инициализированы, т.к. они пусты. Инструкция \c;\l;sizeof\u cbot\sizeof;\n; позволяет получить число элементов, хранящихся в массиве.

Если массив объявлен с максимальным размером, то программа остановится, как только доступ к нему выйдет за его рамки(т.е. кол-во элементов+N). При компиляции ошибки не возникнет, даже если она очевидна:
\c;
\s;{
\s;	int a[5];
\s;	a[7] = 123;  // нет ошибки при компиляции
\s;	             // однако ошибка при выполнении
\s;}
\n;
Если вы передаете \l;функции\u cbot\function; массив в качестве параметра, то функция получает только \l;ссылку\u cbot\pointer; на массив. Это означает, что если вы измение элемент в массиве, то этот элемент будет измененным и в самой функции.

\t;См. также
\l;Язык CBOT\u cbot; и \l;Переменные\u cbot\type; и \l;категории\u cbot\category;.