函数指针
函数指针指向函数,可把「行为」当参数——回调、分发表的基础。
1. 完整例子
| 1 | int add(int a, int b) { return a + b; } |
| 2 | int sub(int a, int b) { return a - b; } |
| 3 | |
| 4 | int calc(int a, int b, int (*op)(int, int)) { |
| 5 | return op(a, b); |
| 6 | } |
| 7 | |
| 8 | /* calc(3, 1, add) → 4 */ |
| 9 | /* calc(3, 1, sub) → 2 */ |
2. 拆解
- int (*op)(int, int):op 是函数指针
- 调用 op(a,b) 等价调用传入的函数
- 嵌入式中常用于表驱动与状态机