При определении многомерных массивов указываются две размерности: размерность самого массива и размерность его элементов.
int mass[4][5]; //массив из 4 элементов, каждый из которых
//является массивом из 4 целых чисел
//массив из 10 элементов, каждый из которых является массивом из 20
//элементов, каждый из которых является массивом из 30 целых чисел
int bigArr[10][20][30] = {0}; //инициализация всех элементов значением 0
В двухмерном массиве первую размерность называют рядом (row), а вторую - столбцом (column).
Подобно любым другим массивам, элементы многомерных массивов можно инициализировать, предоставив в фигурных скобках список инициализаторов.
int mass[4][5] = { //четыре элемента, каждый - массив размером 5
{0,1,2,3,4}, //ряд 0
{5,6,7,8,9}, //ряд 1
{10,11,12,13,14}, //ряд 2
{15,16,17,18,19} //ряд 3
};
Вложенные фигурные скобки необязательны. Этот же массив можно представить в таком виде:
int mass[4][5] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
Такая инициализация менее очевидна, поэтому предпочтительней первый вариант.
Также как и в одномерных массивах, элементы списка могут быть пропущены. Следующим образом можно инициализировать только первый ряд каждого ряда:
int mass[4][5] = {{ 0 }, { 5 }, { 10 }, { 15 }};
Остальные элементы инициализируются значением по умолчанию. Без применения вложенных фигурных скобок результат был бы иным:
int mass2[4][5] = {0,5,10,15,20}; //инициализация ряда 0
Подобно любому другому массиву, для доступа к элементам много мерного массива можно использовать индексирование.
int mass[4][5];
mass[0][0] = 5;