回调函数
通过函数指针调用函数,而这个被调用的函数称为回调函数
回调函数是C语言中一种强大的机制,允许将函数作为参数传递给其他函数,从而在特定时机由后者调用。它的核心在于函数指针的使用
以下是回调函数的使用例子
先创建好一个函数(calculate)用于接收函数指针,即用于调用的函数
在需要调用的时候,将需要调用的函数的地址传递给函数(calculate)
函数(calculate)会通过传递过来的函数地址,调用对应的函数并将这个函数计算出的结果返回
#include <stdio.h>
int calculate(int a, int b, int (*op)(int, int))
{ 通过函数指针接收函数的地址来调用对应的函数进行计算return op(a, b);
}
加法实现
int add(int a, int b) {return a + b;
}
减法实现
int subtract(int a, int b) {return a - b;
}
int main() {int x = 20, y = 8;printf("%d + %d = %d\n", x, y, calculate(x, y, add)); 调用calculate函数并将add函数的 地址传递过去printf("%d - %d = %d\n", x, y, calculate(x, y, subtract));return 0;
}