1. 指针数组和数组指针
int *p[3],由于[]的优先级高于*,所以是这样结合的:int *(p[3]),这是一个数组,数组元素是指向int型的指针.可以这样赋值:
int a[3][4]; int *(p[3]); for(int i=0;i <3; i++) { p[i] = a[i]; }指针数组的每个元素为指针,指针指向一个一维数组的首元素.
int (*p)[3], 这样则是一个指针,该指针指向一个有3个元素的一维数组,p+1,则是移动了一个一维数组的地址.可以这样赋值:
int a[3][3]; int (*p)[3]; p = a;
数组指针:
typedef int p[3]; p *a;
typedef int *p; p a[3];
不定期更新
原文地址:http://blog.csdn.net/zy416548283/article/details/38893079