C语言 多维数组和指针

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

定义多维数组

int a[3][2];

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

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

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

int *p;

p = a;

会出现严重错误

原因是:

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

 

 

posted @ 2013-01-03 13:40  sdlwlxf  阅读(229)  评论(0)    收藏  举报