先来回忆一下,
指针数组
int *p[n]; //定义了一个存放指向int的指针的数组
//先找名字p
//由于结合性【】>*,先和【】结合表示是一个数组
//再和*结合表示数组里存放的是指针
//再和int结合 表示指针指向的是int
数组指针,指向数组的指针
int (*p)[n]; //定义了一个指向存放int的数组的指针
//找名字,p
//先和*结合,表示p是一个指针
//再和【】结合表示指向的是一个数组
指向指针数组的指针
int(*(*P)[n]); //指向整型指针数组的指针
//找名字p
//先和*结合表示是一个指针
//再和【】结合表示指向数组
//再和*结合表示数组内存放的是指针
//再和int结合表示数组内的指针指向的是int
指向函数指针数组的指针
int (*(*p)[n])(int,int);
//首先找名字p
//和*结合表示是一个指针
//由于结合性,先和【】结合表示该指针指向一个数组
//再和*结合表示该数组内存放的是指针
//再和()结合表示数组内指针指向的是一个函数
//再和()内的int,int结合表示该函数有两个int类型的参数
//最后再和int结合表示该函数有一个int类型的返回值
把这些放在一起,是不是就好理解多了