使用typedef重命名函数指针写回调函数的简单例子
时间: 2023-08-06 20:23:03 浏览: 126
好的,以下是一个使用typedef重命名函数指针写回调函数的简单例子:
```c
#include <stdio.h>
// 定义一个函数指针类型,用于重命名回调函数
typedef void (*CallbackFunc)(int);
// 回调函数,输出传入的整数
void printNum(int num) {
printf("The number is %d.\n", num);
}
// 接受一个回调函数作为参数的函数
void doSomething(CallbackFunc callback) {
// 调用回调函数并传入一个整数作为参数
callback(42);
}
int main() {
// 通过重命名函数指针类型,定义一个回调函数指针变量
CallbackFunc callback = printNum;
// 调用函数并传入回调函数指针作为参数
doSomething(callback);
return 0;
}
```
在上面的例子中,我们首先定义了一个函数指针类型 `CallbackFunc`,它接受一个 `int` 类型的参数并返回 `void`。然后,我们定义了一个回调函数 `printNum`,它接受一个 `int` 类型的参数并将其输出。接着,我们定义了一个函数 `doSomething`,它接受一个回调函数指针作为参数,并在内部调用该回调函数并传入一个整数作为参数。最后,我们在 `main` 函数中通过重命名函数指针类型定义了一个回调函数指针变量 `callback`,并将其传入 `doSomething` 函数中作为回调函数的参数。
阅读全文