int *p[3]是表示存放三个指针,而int(*p)[3]貌似少了什么int(*p)()[3];是表示函数指针数组
int *p; p为指向整型量的指针变量int *p[n]; p为指针数组,由n个指向整型量的指针元素组成。int (*p)[n]; p为指向整型二维数组的指针变量,二维数组的列数为nint *p() p为返回指针值的函数,该指针指向整型量int (*p)() p为指向函数的指针,该函数返回整型量int **p p为一个指向另一指针的指针变量,该指针指向一个整型量。
看指针的时候你从右向左看就明白它的意思了