Оптимизация массивов [char]
Здравствуйте дорогие друзья, у меня возник вопрос касающийся оптимизации массивов. Читая статью про оператор «char» и использование его в массивах - я решил проверить. В итоге либо у меня проблемы - либо человек неправильно объяснил принцип работы.
Из мною прочитанного сказано, что на переменные и ячейки массива по стандарту выделяют 4 байта памяти. И получается если мы используем оператор «char», то мы можем сэкономить количество памяти (если значение переменной или ячейки массива находится в нужном нам диапазоне].
В итоге я решил проверить это - и возникла проблема. Вот ниже приведен код.
PHP код:
#include <a_samp>
main()
{
new arrPlayers[MAX_PLAYERS char];
printf("%d", arrPlayers[900]);
return 1;
}
Ответ компилятора: error 032: array index out of bounds (variable "arrPlayers")
Дело в том что компилятор пишет что «900» в массиве из «1000» ячеек - не существует. Возникает вопрос - куда он делся?
Кто может объяснить принцип работы «char».
- - - Добавлено - - -
Видимо ошибка в том, что при указании ячейки массива нужно использовать { } а не [ ]. Если это так - то проблема решена.
Это синтаксическое правило, или этому есть объяснение (использование { } вместо [ ]?