对C语言回调函数的一点感悟
2016-01-12 21:50
423 查看
先来看个回调函数的例子:
#include<stdio.h>
typedef void(*pcb)(char *);
void GetCallBack(pcb callback,char* s)
{
printf("\ngetCallBack");
callback(s);
}
void fCallback(char *s)
{
printf("\nthis is %s-0",s);
}
void fCallback1(char *s){
printf("\nthis is %s-1",s);
}
int main(){
GetCallBack(fCallback,"fCallBack");
GetCallBack(fCallback1,"fCallBack");
}
结果如下:
getCallBack函数是调用者,那么它将不关心被调用者,也即是传入其中的函数fCallBack的具体实现,这样就巧妙的实现了调用者和被调用者的分离
#include<stdio.h>
typedef void(*pcb)(char *);
void GetCallBack(pcb callback,char* s)
{
printf("\ngetCallBack");
callback(s);
}
void fCallback(char *s)
{
printf("\nthis is %s-0",s);
}
void fCallback1(char *s){
printf("\nthis is %s-1",s);
}
int main(){
GetCallBack(fCallback,"fCallBack");
GetCallBack(fCallback1,"fCallBack");
}
结果如下:
getCallBack函数是调用者,那么它将不关心被调用者,也即是传入其中的函数fCallBack的具体实现,这样就巧妙的实现了调用者和被调用者的分离
相关文章推荐
- c++ 只在堆上创建对象
- C/C++ 底层的一些记录心得
- c++架构
- 关于C++虚函数表的那些事儿
- c++ 类成员初始化
- 一起talk C栗子吧(第九十八回:C语言实例--使用消息队列进行进程间通信二)
- c++ primer 第4章 数组和指针
- C++_mysql
- 尾插法建立单向链表 C语言实现
- C语言——转义字符
- 基于Windows Socket的安全通信(C++实现,附源码)
- C++中const相关知识
- c++ 设计模式 代理
- 编程小白眼中的KMP-----C++实现
- c语言结构体对齐
- 头插法建立单向链表 C语言实现
- C++的函数重载
- 游戏客户器端通信框架(C++与Socket)
- c++ 使用socket实现C/S端文件的下载传输
- C++ socket编程 实现服务端与客户端的通讯