回调函数
来源:互联网 发布:js单例和实际化 编辑:程序博客网 时间:2024/06/09 19:47
在了解回调函数之前,你应该先去了解函数指针!!!
先看一个回调函数的例子:
#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);
}
3 0
- .NET 回调函数
- 回调函数
- 回调函数
- 回调函数概念
- 回调函数
- 回调函数
- 回调函数
- 回调函数 相关
- delphi 回调函数
- 回调函数
- 回调函数
- 回调函数学习
- 回调函数
- 关于回调函数
- 透析回调函数
- 回调函数
- 什么是回调函数
- 回调函数
- 放的地方方法
- cakephp发送post请求
- codeforces 91B Queue 线段树,简单查询
- leetcode——Divide Two Integers 不用乘除取余操作求除法(AC)
- 二叉树前序Preorder遍历和后序Postorder遍历的非递归实现
- 回调函数
- 关于Google Guava
- OracleService服务不见了|OracleServiceXE服务没有了
- method 与 function的区别
- 【推荐】.NET使用NPOI组件将数据导出Excel
- 设计模式之单例模式
- JAVA Timer 分析
- 日历问题
- [leetcode] Binary Tree Preorder Traversal 非递归先序遍历