1、int a[10];
int *p;
p = a;
2、int *a[10];
int **p;
p = a;
3、int a[3][10];
int (*p)[10];
p = a;
解析:
1、int a[10]; 声明并定义了一个一维数组,数组名为a,a是一个指针常量,类型为int *const。
int *a[10]; 声明并定义了一个一维数组,数组名为a,a是一个指针常量,类型为int **const。
int a[3][10]; 声明并定义了一个二维数组,数组名为a,a是一个指针常量。
2、int *p; p是一个指针,p指向一个int型数。
int **p; p是一个指针,p指向一个int型的指针。
int (*p)[10]; p是一个指针,p指向一个一维数组,该数组中的每个元素是一个包含10个int型数的数组(即:p指向一个二维数组)。