C语言 多维数组和指针

右图中圆圈代表指针,箭头代表它指向某个元素。

定义多维数组

int a[3][2];

它的逻辑结构可以理解为右图。

图中上层数组存储的是3个指向二维数组的指针。

所以如果我们做如下操作:

int *p;

p = a;

会出现严重错误

原因是:

a是指向一个元素为数组的数组,而p是指向一个元素为整形int的数组,这样做强制转换显然是非法的。

原文地址:https://www.cnblogs.com/sdlwlxf/p/2842882.html