1. 程式人生 > >回撥函式簡單例子 C語言

回撥函式簡單例子 C語言

#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;
}