在《由浅到深的使用回调函数 1》中学习了无参的回调函数,现在学习有参回调函数,其实和无参的回调函数是一样的,现在加深了对回调函数的理解,以后在项目中使用就不会慌张了。
首先头文件:
#include <stdio.h>
然后给函数指针一个别名:callBackFunc
typedef void (*callBackFunc)(int,char *);
接着写带参数回调函数
void aFunction(int a,char *b)
{
printf("%d %s\n",a,b);
return ;
}
最后写参数为回调函数的API
void func(callBackFun p)
{
p();
return ;
}
//测试程序如下
#include <stdio.h>
typedef void (*callBackFunc)(int,char *);
void aFunction(int a,char *b)
{
printf("%d %s\n",a,b);
return ;
}
void makeFun(int a,char *b,callBackFunc p)
{
p(a,b);
return ;
}
int main()
{
makeFun(0,"baiyu",aFunction);
return 0;
}
打印结果:
0 baiyu