1,由于[] 优先级高与*所以int *p[4]它先p[4]是定义数组的形式然后和*结合,*p[4]就是数组指针(一个数组中存放的内容是指针变量)
2,int a[4];(a中有4个元素,每个元素为整型)===》a<=>(*p)
int (*p)[4];((*p)有4个元素,每个元素为整型)
也就是说p所指的对象是有4个整型元素的数组,即p指向一维数组的指针。此时p只能指向一个包含4个元素的一维数组,不能指向一维数组中的某个元素。p的值就是该一维数组的起点地址。