首页 > 代码库 > 回调函数
回调函数
在了解回调函数之前,你应该先去了解函数指针!!!
先看一个回调函数的例子:
#include <stdio.h> #include <iostream> void Call(void (*fp)(int) ,int x) //Call为调用者,fp为指向回调函数的函数指针 { fp(x); } void CallBackFun1(int x) //CallBackFun1为回调函数 { printf("回调函数CallBackFun1中输出:%d\n",x); } void CallBackFun2(int x) //CallBackFun2为回调函数 { printf("回调函数CallBackFun2中输出:%d\n",x); } int main() { Call(CallBackFun1,10); Call(CallBackFun2,20); system("pause"); }
输出结果为:
假设CallBackFun是回调函数,Call是调用者,Call函数参数中有一个参数是指向CallBackFun的函数指针,即回调CallBackFun,同时Call函数另外的参数传递给CallBackFun作为参数。
那么:Call调用CallBackFun,CallBackFun又利用了Call给的参数。
CallBackFun就是回调函数,Call就是调用者。
-----------------------------------------------------END------------------------------------------------------------------------
void Call(void (*fp)(int),int x)
{
fp(x);
}
等价于:
typedef void (*CallBackFun)(int);
void Call(CallBackFun fp,int x)
{
fp(x);
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。