指针理解

判断一个指针的类型取决于优先级。例如:
指针数组
int *p[10] //中括号比星号的优先级高
表示p是一个存放10个元素的数组,每个元素都是指针类型。
数组指针
int (*)p[10] //p先跟星号结合,再跟中括号结合
表示p是一个指针类型,指向一个有10个元素的数组。

指针理解
函数指针
int (*p)();
表示p是一个指针类型,指向一个函数。
函数名表示函数的地址,用指针变量保存函数的地址。
函数指针数组
int (*p[10])();
表示p是一个元素个数为10个的数组,每一个元素都是指针类型,每个元素指向一个函数。
指针理解
指向函数指针数组的指针
指针理解
表示p是一个指针类型,指向一个元素个数为10的数组,每一个元素都为指针类型,指向一个函数。
指针指向一个数组,数组的元素都是函数指针