读书人

一个c回调函数的例证

发布时间: 2012-10-13 11:38:17 作者: rapoo

一个c回调函数的例子

#include?<stdio.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?call2(char?*p,?int(*ptr)(char?*p)?)?{?//?执行回调函数,方式二:直接通过方法指针
????//printf("==============\n",?p);?
????(*ptr)(p);
????return?0;
}



int?main()?{????

????char?*p?=?"hello";

????call(Afun,?p);
????call(Cfun,?p);

????call2(p,?Afun);
????call2(p,?Cfun);

????return?0;
}

读书人网 >编程

热点推荐