回调函数简单例子 C语言

时间:2022-04-27 19:06:35
#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;
}