一、函数指针的定义
顾名思义,函数指针就是函数的指针。它是一个指针,指向一个函数。看例子:
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):fun1 是函数名吗?回忆一下前面讲解数组指针时的情形。我们说数组指针这么定义或许更清晰:
int (*)[10] p;