现在的位置: 首页 > 综合 > 正文

理解C回调函数

2013年11月10日 ⁄ 综合 ⁄ 共 698字 ⁄ 字号 评论关闭

好久没有来这里了,好像自从开通写了一篇之后……今天写一点关于回调函数的理解吧,

反正随便写一点,用最简单的程序来表达一下我所理解的回调,高手免看,我怕板砖。

自己也不想学别人那样介绍一堆什么是回调,然后弄个复杂的算法,反正就写点简单的可运行程序,

觉得有用的随便看看,把程序拷贝下,运行下应该就可以理解了。

-----------------------------------------------------------

//typedef简单的理解就是定义了类型CallBackFun是"一个指向

//函数的指针,该函数具有一个char*类型的参数,返回值类型为int

typedef int (*CallBackfun)(char *p);

int Afun(char *p);
int Cfun(char *p);
int func(CallBackFun pCallBack, char *p);

void main()
{
    char *p = "hello";

    func(Afun, p);
    func(Cfun, p);
    getchar();

    return;
}

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 func(CallBackFun pCallBack, char *p)
{
    printf("func直接打印出字符%s!/n", p);
    pCallBack(p);
    return 0;
}

抱歉!评论已关闭.