1. 用途
以目前理解来看,Callback函数最直接简单的解释是可以被其他函数作为形参调用的函数。2. 实现
2.1 参考一个简答的无返回值类型,无输入参数的函数func
void func(void)
{
// do something..
}
2.2 定义一个函数指针pfv,无返回值类型无输入参数
void (*pfunc)();
// 1,pfunc前面有个*号,则说明pfv是个指针
// 2,pfunc后面跟一对(),则说明这是个函数,pfunc是指向这个函数的指针
// 3,该函数不带参数
// 4,函数类型为void
// 由此,pfunc表示一个指向无参数且返回类型为void的函数的指针
2.3 用typedef来定义一个类型,符合2.2描述的功能
typedef void(*pfv)(void);
2.4设置触发条件,调用该函数
void UseCallBackFunc(pfv func_CB)
{
// do something...
func_CB();
// do something...
}
void main(void)
{
UseCallBackFunc(func);
}