#include<stdio.h>
void fun(int m)
{
printf("in fun()\n");
printf("m=%d\n", m);
}
void call(void (*a)(int), int b)
{
(*a)(b);
printf("in call()\n");
printf("b=%d\n", b);
}
int main()
{
call(fun, 10);
return 0;
}
在这里,call()函数的第一个参数为一个函数指针类型,所以在调用时直接使用fun作为参数就可以了.当然,根据function-to-pointer原则,也可以写成call(*fun, 10);效果是一样的.