#include <stdio.h>
typedef void (*CallBackFun)(char *str);
void CallBackFunA(char *ptr)
{
printf("Callback function A str is %s\n",ptr);
}
void CallBackFunB(char *ptr)
{
printf("Callback function B str is %s\n",ptr);
}
//方式一:命名方式
void callfunA(CallBackFun callbackfun,char *ptr)
{
printf("start callback function A by name\n");
callbackfun(ptr);
}
//方式二:通过函数指针的方式
void callfunB(void (*callbackfun)(char *),char *ptr)
{
printf("start callback function B by function pointer\n");
callbackfun(ptr);
}
int main()
{
callfunA(CallBackFunA,"A");
callfunB(CallBackFunB,"B");
return 0;
}