Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор
int matr [6][8];
задает описание двумерного массива из 6 строк и 8 столбцов. Массив состоит из 48 элементов. В памяти такой массив располагается в последовательных ячейках построчно.
|
|
|
…
0 7 8 15 40 47 – смещение от начала массива
Трехмерный массив будет описан как:
double mass[4][3][2];
Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.
Для доступа к элементу многомерного массива указываются все его индексы, например,
matr[2][3]=4;
элементу матрицы matr2,3 присвоено значение 4;
x= matr[2][3];
переменной x присвоено значение элемента матрицы matr2,3.
При инициализации многомерного массива он представляется как массив из массивов, при этом каждый массив заключается в свои фигурные скобки (в этом случае величину первой размерности при описании можно не указывать),
int mass2 [][2]={ {1, 1}, {0, 2}, {1, 0} };
В этом примере инициализирован массив матрицы:
Можно задать общий список элементов в том порядке, в котором элементы располагаются в памяти (тогда все размерности указываются):
int mass2 [3][2]={1, 1, 0, 2, 1, 0};
Обнулить весь массив можно так:
int mass2 [3][2]={0};