Многомерный массив это массив, элементами которого служат массивы. Например, массив с описанием int a[4][5] – это массив из 4 указателей типа int*, которые содержат адреса одномерных массивов из 5 целых элементов (см. рис.).
*(a+1) – адрес строки массива с номером 1
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
int **a
Элементы типа *int
Рис.
Инициализация многомерных массивов выполняется аналогично одномерным массивам. Примеры:
int a[3][4] = {{11,22,33,44},{55,66,77,88},{99,110,120,130}};//проинициализированы все //элементы массива
int b[3][4] = {{1},{2},{3}};//проинициализированы первые элементы каждой строки
int c[3][2]={1,2,3,4,5,6};//проинициализированы все элементы массива
Доступ к элементам многомерных массивов возможен и с помощью индексированных переменных и с помощью указателей:
a[1][1] – доступ с помощью индексированных переменных,
*(*(a+1)+1) – доступ к этому же элементу с помощью указателей (см. рис.).