文章目录
1 回调函数的作用
回调函数是通过函数指针实现的。可以将调用者和被调用者进行解耦,通过一个函数指针可以关联不同的函数实现,实现前提是函数指针和函数实现的参数类型一致,用户通过把需要调用函数的指针作为参数传递给一个函数进行实现,可以实现个功能模块之间的解耦,增强代码的可移植性及函数调用的灵活性。
2 回调函数的应用示例
#include <stdio.h>
int SUB(int a, int b); //函数声明
int (*p)(int a, int b); //定义一个函数指针,(*p)这里的()一定不能省略
int main()
{
int a = 10;
int b = 5;
int result = 0;
/* 将函数注册到函数指针,在实际应用中,可根据不同的场景注册不同的函数,类似C#语言中的Inferface作用*/
p = SUB;
result = (*p)(a, b);
printf("result = %d", result);
return 0;
}
int SUB(int a, int b)
{
return a + b;
}
//输出:result = 15