函数指针¶
定义¶
int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int (*op)(int, int); // 函数指针声明
op = add;
printf("%d", op(3, 2)); // 5
回调函数¶
void calc(int (*fn)(int, int), int x, int y) {
printf("result: %d\n", fn(x, y));
}
calc(add, 10, 5); // 15
calc(sub, 10, 5); // 5
函数指针在嵌入式中断服务程序的注册中非常常见。