天天看点

int *f() 与 int (*pf)() 区别

int *f();  

int (*pf)();  

说明:*是一个前缀运算符,其优先级低于(),所以,声明中必须用园括号以保证正确的结合顺序

char (*(*x())[])()

解释:x是一个函数,返回一个指针,该指针指向一个一维数组,该一维数组的元素为指针,这些指针分别指向多个函数,这些函数的返回值为char类型

拆解分析:

1. char * x() 是一个函数,返回指针,先用A代替*x()

2. char * (A)[] 是一个数组,每个元素都是指针,用B代替(A)[]

3. char (*B)() 是指向函数的指针,返回char类型的对象

继续阅读