回调函数的概念(转自百度百科):
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
回调函数机制:
1、定义一个函数(普通函数即可);
2、将此函数的地址注册给调用者;
3、特定的事件或条件发生时,调用者使用函数指针调用回调函数。
#include <stdio.h>
// 类型重定义:函数指针类型
typedef int(*callback)(int,int);
// 调用者
int call(int a,int b,callback p){
return (*p)(a,b);
}
// 回调函数
int add(int a,int b){
return a+b;
}
// 主函数
int main(int argc,char *args[]){
int res = call(4,2,add);
printf("%d\n",res);
return 0;
}
注(函数指针的用法): 返回类型(*函数名)(参数表)
来源:https://blog.csdn.net/t1452955147/article/details/100544487