指针和多维数组(例子需要好好消化理解)

int (*ip)[4] = ia; // ip points to an array of 4 ints(ip指向的是一个含有4个元素的数组

ip = &ia[2]; // ia[2] is an array of 4 ints(ia[2]是一个数组,里面包含4个元素
定义指向数组的指针(int (*ip)[4] = ia)与如何定义数组本身类似:首先声明元素类型,后接(数
组)变量名字和维数。窍门在于(数组)变量的名字其实是指针,因此需在标识
符前加上 *。如果从内向外阅读 ip 的声明,则可理解为:*ip 是 int[4] 类型
——即 ip 是一个指向含有 4 个元素的数组的指针
在下面的声明中,圆括号是必不可少的:
int *ip[4]; // array of pointers to int(指针是一个数组,类型为指针
int (*ip)[4]; // pointer to an array of 4 ints

posted @ 2013-11-29 20:44  古木木  阅读(396)  评论(0编辑  收藏  举报