指针和多维数组(例子需要好好消化理解)
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