Интерпретация оператора индекса
Как и другие операторы, оператор индекса ([ ]) может быть переопределен пользователем. Поведение оператора индекса по умолчанию, если он не перегружен, — совмещать имя массива и индекс с помощью следующего метода.
*((имя-массива) + (индекс))
Как всегда в добавлениях, включающих типы указателей, масштабирование выполняется автоматически с учетом размера типа. Следовательно, результирующее значение — не индекс байтов из источника имя-массива; а элемент массива с порядковым номером индекс. (Дополнительные сведения об этом преобразовании см. в разделе Операторы добавления).
Аналогично, для многомерных массивов адрес извлекается с использованием следующего метода.
((имя-массива) + (индекс1 макс2 * макс3*...максn) + индекс2 * макс3...макс*n) . . . + индексn))