没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言中的回调函数实例
在C语言中一般用typedef来为回调函数定义别名(参数名)。 别名通过宏定义typedef来实现,不是简单的宏替换。可以用作同时声明指针型的多个对象。 比如: 代码如下:char *pa,pb;//pa是一个char型指针,但pb是一个char型字符。我们可以这样来实现typedef char* PCHAR;PCHAR pa,pb;//pa和pb都是char型指针先看一个回调函数的例子: 代码如下:#include<stdio> //方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)typedef int (*CallBackFun)(char *
资源详情
资源评论
资源推荐
C语言中的回调函数实例语言中的回调函数实例
在C语言中一般用typedef来为回调函数定义别名(参数名)。 别名通过宏定义typedef来实现,不是简单的宏替换。可以用作
同时声明指针型的多个对象。
比如:
代码如下:
char *pa,pb;//pa是一个char型指针,但pb是一个char型字符。我们可以这样来实现
typedef char* PCHAR;
PCHAR pa,pb;//pa和pb都是char型指针
先看一个回调函数的例子:
代码如下:
#include<stdio.h>
//方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)
typedef int (*CallBackFun)(char *p); //为回调函数命名,类型命名为 CallBackFun,参数为char *p
//方法 Afun,格式符合 CallBackFun 的格式,因此可以看作是一个 CallBackFun
int Afun(char *p)
{
printf(“Afun 回调打印出字符%s!”, p);
return 0;
}
// 方法 Cfun,格式符合 CallBackFun 的格式,因此可以看作是一个 CallBackFun
int Cfun(char *p)
{
printf(“Cfun 回调打印:%s, Nice to meet you!”, p);
return 0;
}
// 执行回调函数,方式一:通过命名方式,pCallBack可以看做是CallBackFun的别名
int call(CallBackFun pCallBack, char *p)
{
printf(“call 直接打印出字符%s!”, p);
pCallBack(p);
return 0;
}
// 执行回调函数,方式二:直接通过方法指针
int call2(char *p, int (*ptr)()) //或者是int call2(char *p, int (*ptr)(char *)) 同时ptr可以任意取名
{
printf(“==============”, p);
(*ptr)(p);
}
int main()
{
char *p = “hello”;
call(Afun, p);
call(Cfun, p);
call2(p, Afun);
call2(p, Cfun);
return 0;
}
再看一个回调函数的例子:
weixin_38726007
- 粉丝: 6
- 资源: 930
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0