下面是驗證回調函數原理的代碼,他們在windows和linux下均驗證通過
#include <stdio.h>
#include <stdlib.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 call3(char *p, CallBackFun pCallBack)
{
printf("--------------\n", p);
pCallBack(p);
}
int main(int argc, char **argv)
{
char *p = "hello";
call(Afun, p);
call(Cfun, p);
call3(p, Afun);
call3(p, Cfun);
system("pause");
return 0;
}