函数的参数可以是指针,函数指针------指向函数的指针,也是指针,所以函数指针也可以做函数的参数。比如 int get_max(int i,int j,int k,int (*p)(int,int)); 这个函数接受4个参数,第4个参数即为一个指向函数的指针。在函数内可以通过该指针调用其他函数。
让我们举一个“栗子”:
#include <stdio.h>
int get_big(int i,int j)
{
return i>j?i:j;
}
int get_max(int i,int j,int k,int (*p)(int,int))
{
int ret;
ret = p(i,j);
ret = p(ret,k);
return ret;
}
int main()
{
int i = 5,j = 10,k=15,ret;
//函数名也是一个指针,指向该函数的代码
ret = get_max(i,j,k,get_big);
printf("The MAX is %d\n",ret);
return 0 ;
}