int p[3]:定义了一个名为p的数组,数组有三个整形元素,p指向第一个元素,是一个常量,不可以更改再赋值;
example:
int a[3]={1,2,3},p[3];
p=a;
编译会报错,因为p是一个指向一个数组的常量指针,不能再赋值
int (*p)[3]:定义了一个名为p的指针变量,该指针指向一个三元素数组,p是一个指针变量,可以重新赋值;
example:
int a[3]={1,2,3},(*p)[3];
p=&a;
编译会通过,因为p是一个指针变量,可以再赋值
int *p[3]:定义了一个名为p的数组,该数组有三个元素,每个元素都是一个指针,指针指向整形变量;