#include <stdio.h>
typedef int (*CallBackFun)(char *p);
int Afun(char *p) {
printf("Afun 回调打印出字符%s!\n", p);
return 0;
}
int Cfun(char *p) {
printf("Cfun 回调打印:%s, Nice to meet you!\n", p);
return 0;
}
int call(CallBackFun pCallBack, char *p) { // 执行回调函数,方式一:通过命名方式
//printf("call 直接打印出字符%s!\n", p);
pCallBack(p);
return 0;
}
int call2(char *p, int(*ptr)(char *p) ) { // 执行回调函数,方式二:直接通过方法指针
//printf("==============\n", p);
(*ptr)(p);
return 0;
}
int main() {
char *p = "hello";
call(Afun, p);
call(Cfun, p);
call2(p, Afun);
call2(p, Cfun);
return 0;
}
一个c回调函数的例子
最新推荐文章于 2021-12-22 17:04:30 发布