C语言回调函数带一个参数例子
时间: 2023-05-20 08:03:08 浏览: 66
以下是一个C语言回调函数带一个参数的例子:
```c
#include <stdio.h>
void callback(int num) {
printf("Callback function called with argument %d\n", num);
}
void perform_operation(int num, void (*cb)(int)) {
printf("Performing operation with argument %d\n", num);
cb(num);
}
int main() {
perform_operation(42, callback);
return 0;
}
```
在这个例子中,我们定义了一个回调函数`callback`,它接受一个整数参数`num`并打印出来。然后我们定义了一个`perform_operation`函数,它接受一个整数参数`num`和一个回调函数指针`cb`,并在执行操作后调用回调函数。最后在`main`函数中,我们调用`perform_operation`函数并传递`callback`函数作为回调函数。当`perform_operation`函数执行完毕后,它会调用`callback`函数并将参数`num`传递给它。
相关问题
C语言回调函数带一个参数例子并输出结果
当一个函数作为参数传递给另一个函数时,它被称为回调函数。以下是一个C语言回调函数带一个参数的例子:
```c
#include <stdio.h>
void callback(int num) {
printf("Callback function called with argument %d\n", num);
}
void performOperation(void (*cb)(int)) {
int num = 5;
cb(num);
}
int main() {
performOperation(callback);
return 0;
}
```
在上面的例子中,我们定义了一个回调函数callback,它接受一个整数参数num,并在函数体中打印出该参数的值。我们还定义了一个performOperation函数,它接受一个函数指针作为参数cb,并在函数体中调用该函数,并将一个整数值传递给它。最后,在main函数中,我们调用performOperation函数,并将callback函数作为参数传递给它。
当我们运行程序时,它将输出以下内容:
```
Callback function called with argument 5
```
C语言回调函数不带参数的例子
以下是一个简单的 C 语言回调函数不带参数的例子:
```c
#include <stdio.h>
void callback() {
printf("Callback function called.\n");
}
void register_callback(void (*callback_func)()) {
printf("Registering callback function...\n");
callback_func();
}
int main() {
printf("Main function started.\n");
register_callback(callback);
printf("Main function ended.\n");
return 0;
}
```
在这个例子中,我们定义了一个名为 `callback` 的函数,它不带任何参数,只是简单地打印一条消息。然后,我们定义了一个名为 `register_callback` 的函数,它接受一个指向函数的指针作为参数,并在内部调用该函数。最后,在 `main` 函数中,我们调用 `register_callback` 函数,并将 `callback` 函数的指针作为参数传递给它。
当程序运行时,它将输出以下内容:
```
Main function started.
Registering callback function...
Callback function called.
Main function ended.
```
这表明我们成功地注册了回调函数,并在适当的时候调用了它。