callback_t 是一个函数指针类型,并用代码举例说明
时间: 2024-02-03 15:11:47 浏览: 203
callback例子
callback_t 是一个函数指针类型,它可以指向一个函数,并且这个函数的返回值和参数列表都需要与 callback_t 定义的一致。
下面是一个例子:
```c
#include <stdio.h>
// 定义一个函数指针类型
typedef void (*callback_t)(int);
// 定义一个函数,它接受一个函数指针作为参数
void print_numbers(int start, int end, callback_t callback) {
for (int i = start; i <= end; i++) {
callback(i);
}
}
// 定义一个回调函数,它接受一个整数作为参数,并输出它的平方
void square_callback(int num) {
printf("%d 的平方是 %d\n", num, num * num);
}
int main() {
// 调用 print_numbers 函数,并传入 square_callback 函数作为回调函数
print_numbers(1, 5, square_callback);
return 0;
}
```
在上面的例子中,我们定义了一个 callback_t 类型的函数指针,它可以指向一个接受一个整数参数并且没有返回值的函数。然后我们定义了一个 print_numbers 函数,它接受一个起始数和结束数,并且还接受一个函数指针作为回调函数。在 print_numbers 函数中,我们使用了传入的回调函数来处理每个数字。最后,我们定义了一个 square_callback 函数,它接受一个整数参数,并输出它的平方。最后,我们在 main 函数中调用了 print_numbers 函数,并传入 square_callback 函数作为回调函数。这样,当 print_numbers 函数处理每个数字时,它都会调用 square_callback 函数来处理这个数字。
阅读全文