int *f(); /* f是一个函数,返回一个指向int类型的指针*/
int (*pf)(); /*pf是一个指向函数的指针,返回一个int类型的对象*/
说明:*是一个前缀运算符,其优先级低于(),所以,声明中必须用园括号以保证正确的结合顺序
char (*(*x())[])()
解释:x是一个函数,返回一个指针,该指针指向一个一维数组,该一维数组的元素为指针,这些指针分别指向多个函数,这些函数的返回值为char类型
拆解分析:
1. char * x() 是一个函数,返回指针,先用A代替*x()
2. char * (A)[] 是一个数组,每个元素都是指针,用B代替(A)[]
3. char (*B)() 是指向函数的指针,返回char类型的对象