右图中圆圈代表指针,箭头代表它指向某个元素。
定义多维数组
int a[3][2];
它的逻辑结构可以理解为右图。
图中上层数组存储的是3个指向二维数组的指针。
所以如果我们做如下操作:
int *p;
p = a;
会出现严重错误
原因是:
a是指向一个元素为数组的数组,而p是指向一个元素为整形int的数组,这样做强制转换显然是非法的。
本文共 238 字,大约阅读时间需要 1 分钟。
右图中圆圈代表指针,箭头代表它指向某个元素。
定义多维数组
int a[3][2];
它的逻辑结构可以理解为右图。
图中上层数组存储的是3个指向二维数组的指针。
所以如果我们做如下操作:
int *p;
p = a;
会出现严重错误
原因是:
a是指向一个元素为数组的数组,而p是指向一个元素为整形int的数组,这样做强制转换显然是非法的。
转载于:https://www.cnblogs.com/sdlwlxf/archive/2013/01/03/2842882.html