一直对指针数组和数组指针区分不是很清晰,平时用的不是很多,所以在此以我个人的理解在总结一下:
【指针数组】
顾名思义就是指针的数组,也就是它本身是一个数组,但是数组的元素都是指针,也就是地址,例如:
int *p[10];
首先它是一个含有10个元素的数组,之后它的每个元素都是指向int类型的指针(int * ),注意
[]的优先级高于
*.
【数组指针】
顾名思义就是数组的指针,也就是它本身是一个指针,但是是指向一个数组的首地址的指针,例如:
int (*p)[10];
首先它就是一个指针,之后它是指向一个数组的指针,这个数组含有10个int型元素(int)。
区分的方法:
首先根据优先级确定到底是数组还是指针,其次再进行思考即可。