右图中圆圈代表指针,箭头代表它指向某个元素。
定义多维数组
int a[3][2];
它的逻辑结构可以理解为右图。
图中上层数组存储的是3个指向二维数组的指针。
所以如果我们做如下操作:
int *p;
p = a;
会出现严重错误
原因是:
a是指向一个元素为数组的数组,而p是指向一个元素为整形int的数组,这样做强制转换显然是非法的。