函数指针
A) char * (*fun1)(char * p1,char * p2);
B) char * *fun2(char * p1,char * p2);
C) char * fun3(char * p1,char * p2);
C)fun3是函数名,p1,p2是参数,其类型为char 型,函数的返回值为char 类型。
B) 与C)表达式相比,唯一不同的就是函数的返回值类型为char,是个二级指针。
A) 数组指针这么定义或许更清晰:
int (*)[10] p;
这里fun1不是什么函数名,而是一个指针变量,它指向一个函数。这个函数有两个指针类型的参数,函数的返回值也是一个指针。同样,我们把这个表达式改写一下:
char * (*)(char * p1,char * p2) fun1;