这里谈论的是 C语言 的多维数组的访问
前言
多维数组是一维数组的一种特殊形式,例如 a[3][10]
这个数组,相当于是 a 这个数组,有三个元素,每个元素又有 10 个成员
遍历访问每一个元素
有的时候,我们或许会想要按顺序访问数组中的元素,这时候我们可以声明一个指针,指向多维数组的某个元素,通过移动指针就可以访问多维数组中的每一个元素
int *p = &matrix[0][0];
p++; //matrix[0][1]
通过函数传参访问
当数组作为函数参数,传址调用的时候,需要提供除了第一维以外的其他维的长度
void func(int (*mat)[10]);
void func(int mat[][10]);
之所以需要提供其他维的信息,是因为数组下标的计算需要
只有在知道了其他维度的信息,在第一维变化的时候,才能根据其他维度信息,计算第一维度的地址变化