什么情况下用函数指针
时间: 2023-12-22 17:28:27 浏览: 37
函数指针在C语言中有着广泛的应用场景,以下是一些常见的情况下使用函数指针的例子:
1. 回调函数:当一个函数需要在某个事件发生时调用另一个函数时,可以使用函数指针作为回调函数的参数,以便在事件发生时调用指定的函数。
2. 动态函数调用:当需要在运行时动态地调用不同的函数时,可以使用函数指针来实现。
3. 函数表:当需要在一个程序中使用多个函数时,可以使用函数指针数组来实现函数表,以便在需要时动态地调用不同的函数。
4. 排序算法:当需要对一个数组进行排序时,可以使用函数指针作为排序算法的参数,以便在排序时调用指定的比较函数。
5. 多态性:当需要在一个程序中实现多态性时,可以使用函数指针来实现。
以下是一个使用函数指针实现回调函数的例子:
```c
#include <stdio.h>
void handle_event(int event_type, void (*callback)(void)) {
printf("Handling event type %d\n", event_type);
if (callback != NULL) {
callback();
}
}
void my_callback(void) {
printf("Callback function called\n");
}
int main() {
handle_event(1, NULL); // 不调用回调函数
handle_event(2, my_callback); // 调用回调函数
return 0;
}
```