C语言的回调函数
2016-07-13 19:57
330 查看
> 回调函数与普通函数的对比
普通函数:你所写的函数调用系统函数,你只管调用,不管实现。
回调函数:系统调用你所写的函数,你只管实现,不管调用。
简单来说就是函数A里面有函数指针,指向你需要调用的函数B,这样子函数B就能够随便写,程序的通用性也增强了。
#include <stdio.h> void PrintNum(int n); void ShowNum(int n,void (* ptr)()); void PrintMessage1(); void PrintMessage2(); void PrintMessage3(); void ShowMessage(void (* ptr)()); int main(){ ShowNum(11111,PrintNum); ShowNum(22222,PrintNum); ShowMessage(PrintMessage1); ShowMessage(PrintMessage2); ShowMessage(PrintMessage3); } void PrintNum(int n){ printf("Test1 is called,the number is %d\n",n); } void ShowNum(int n,void (* ptr)()){ (* ptr)(n); } void PrintMessage1(){ printf("This is the message 1!\n"); } void PrintMessage2(){ printf("This is the message 2!\n"); } void PrintMessage3(){ printf("This is the message 3!\n"); } void ShowMessage(void (* ptr)()){ (* ptr)(); }
程序运行结果
参考链接
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 关于C#中排序函数的总结
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数