在C语言中,回调函数是一种非常有用的编程技术,允许一个函数作为参数传递给另一个函数,并在需要的时候被调用执行。这种技术广泛应用于各种场景,如事件处理、异步编程等。下面是一个简单的回调函数示例:
假设我们有一个函数`callback`,我们想在某些条件下执行它。我们可以将这个回调函数作为参数传递给另一个函数`do_something`。在适当的时候,`do_something`函数可以调用这个回调函数。这就是回调函数的基本工作方式。
这是一个简单的例子:
```c
#include
// 这是回调函数
void callback(int param) {
printf("Callback function called with parameter: %d\n", param);
}
// 这是包含回调函数的函数
void do_something(int data, void (*callbackFunc)(int)) {
printf("Doing something...\n");
// 在这里调用回调函数
callbackFunc(data);
}
int main() {
// 在main函数中调用do_something,并传递回调函数作为参数
do_something(5, callback);
return 0;
}
```
在这个例子中,我们定义了一个名为`callback`的回调函数和一个名为`do_something`的函数。`do_something`函数接受一个整数和一个函数指针作为参数。这个函数指针指向我们的回调函数。在`do_something`函数内部,我们调用了回调函数并传递了整数参数。在`main`函数中,我们调用了`do_something`函数并传递了回调函数`callback`作为参数。当程序运行时,它将打印出两条消息:"Doing something..." 和 "Callback function called with parameter: 5"。这就是回调函数的简单应用。