第1个回答 2011-02-07
int (*p)[4] 这个是指针数组。里面存的是 4个int指针。数组名字叫p 。这里主要注意一下下优先级
()[]的优先级相同。结合方向是从左到右。所以先跟() 结合。int *p[4] 如果是这样就是 数组指针了。
int **p 是个二维指针。其实很好理解,打个比方。比如你的数据存在地址 2000 号中。你要从从2003号内存里找2000号内存。二维指针就是这样的。从2003 存的地址找到2002 再从2002存的地址找到2000。就是多了个弯而已。
第2个回答 2011-02-07
int (*p)[4] 中p是数组指针,指向一个int 的二维数组,第二维长度是4
int **p 中p可以指向任意长度的一个int二维数组,第二维长度不一定要是4
int *p[4] 是指针数组,p是一个数组,他的成员是int指针。
第3个回答 2011-02-07
int (*p)[4] 是指向一个p[4] 的数组
int **p 等价于int *p[4]