指针与多维数组

假定下面有两个定义:

int a[10][20]
int *b[10]
从语法的角度讲,a[2][3]和b[2][3]是没有什么区别的都是对int对象的一个合法引用。

但是a是一个真正的二维数组,编译器给他分配了200个int类型长度的存储空间。

而对于b来说仅仅是分配了十个指针。如果b中的每个元素都指向具有二十个元素的数组,

那么编译器就要为他分配200个int类型长度的存储空间在加上10个指针的存储空间。

指针数组与普通二维数组相比:指针数组的一个优点是指针数组每一行的长度是可以不同的

下面是指针数组和二维数组的声明和图形化存储的一个比较

posted @ 2012-05-23 19:47  andy-liu-  阅读(166)  评论(0编辑  收藏  举报