c语言callback回调函数
时间: 2023-06-29 14:04:38 浏览: 102
callback回调函数
在 C 语言中,callback 回调函数通常是指将一个函数指针作为参数传递给另一个函数,在该函数执行过程中会回调这个函数指针所指向的函数。这个回调函数可以用来实现一些特定的功能或者提供一些特殊的处理方式。
举个例子,假设你正在写一个网络应用程序,你需要在收到数据后对这些数据进行处理,但是你不知道具体的处理方式。这时候你可以定义一个 callback 函数,然后将这个函数指针作为参数传递给网络库中的函数。当网络库接收到数据后,就会回调这个 callback 函数,让你自由地处理这些数据。
下面是一个简单的示例代码:
```c
#include <stdio.h>
// 定义回调函数
void callback(int num) {
printf("callback called with %d\n", num);
}
// 接收回调函数指针作为参数的函数
void call_with_callback(int num, void (*callback_func)(int)) {
printf("call_with_callback called with %d\n", num);
callback_func(num); // 调用回调函数
}
int main() {
// 将回调函数作为参数传递给 call_with_callback 函数
call_with_callback(100, callback);
return 0;
}
```
在这个例子中,我们定义了一个名为 callback 的回调函数,并且定义了一个名为 call_with_callback 的函数,它接收一个整数和一个函数指针作为参数。在 main 函数中,我们将 callback 函数的指针作为参数传递给了 call_with_callback 函数。当 call_with_callback 函数被调用时,它会打印一些信息并且回调传递进来的函数指针,也就是执行 callback 函数。
需要注意的是,回调函数的类型必须和接收它的函数指针的类型一致,否则会导致编译错误。
阅读全文