typedef定义函数,回调函数
来源:互联网 发布:Excel对数据进行格式化 编辑:程序博客网 时间:2024/06/07 02:59
一、typedef定义函数
除了函数指针,普通函数也可以用typedef,如:
typedef int F (void);//定义函数类型F
之后可以这样声明:
F f,g;
相当于声明
int f(void);
int g(void);
下面这个函数声明是错误的:
F h(void);
因为函数可以返回void
类型、标量类型、结构体、联合体,但不能返回函数类型,也不能返回数组类型。
而下面这个函数声明是正确的:
F *e(void);
函数e
返回一个F *
类型的函数指针。
如果给e
多套几层括号仍然表示同样的意思:
F *((e))(void);
但如果把*
号也套在括号里就不一样了:
int (*fp)(void);
这样声明了一个函数指针,而不是声明一个函数。fp
也可以这样声明:
F *fp;
二、回调函数
回调函数
如果参数是一个函数指针,调用者可以传递一个函数的地址给实现者,让实现者去调用它,这称为回调函数(Callback Function)。例如
qsort(3)
和bsearch(3)
。
回调函数示例: void func(void (*f)(void *), void *p);
调用者
调用者 实现者
提供一个回调函数,再提供一个准备传给回调函数的参数。
把回调函数传给参数
f
,把准备传给回调函数的参数按void *
类型传给参数p
在适当的时候根据调用者传来的函数指针
f
调用回调函数,将调用者传来的参数p
转交给回调函数,即调用f(p);
- typedef定义函数,回调函数
- 利用typedef定义函数指针(回调函数)
- const/typedef/函数指针/回调函数
- 如何用typedef定义windows回调函数的别名
- 定义成员函数为回调函数
- 基础知识---const/typedef/函数指针/回调函数
- 基础知识---const/typedef/函数指针/回调函数
- 回调函数定义
- unity 定义回调函数
- 函数指针 typedef 用法 回调函数 结构体存储函数地址
- typedef定义数组: typedef UCHAR IFIMSIDATA[IF_IMSI_LEN]; 在被调函数中的使用
- 什么是回调函数,如何定义和实现一个类的成员函数为回调函数(转)
- 什么是回调函数,如何定义和实现一个类的成员函数为回调函数(转)
- 函数指针作为某个函数的参数及定义函数指针(回调函数)
- 函数call_user_func(),回调函数
- 钩子函数---回调函数
- 回调函数WindowProc函数
- 成员函数 回调函数
- tcp粘包分析
- POI CellType类型
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- Android之HttpURLConnection编程
- [windows]双击js脚本图标后调用cscript运行
- typedef定义函数,回调函数
- 打印随机10000次失败的几率有多少个
- 设计模式详解之建造者模式
- 谷歌眼镜推出近视眼版 有望在今年圣诞节面世
- 我的架构经验小结(五)-- 日志记录
- struts表单验证 配置和使用
- offsetWidth、clientWidth、scrollWidth、scrollTop
- css 147种颜色列表
- 设计模式 - 组合 Composite