c语言写一个回调函数,接收到数据时通知
时间: 2024-05-14 20:19:59 浏览: 18
回调函数是指在某个事件发生时,由系统自动调用的函数。在C语言中,可以使用函数指针来实现回调函数。
下面是一个简单的示例,演示如何写一个回调函数,接收到数据时通知:
```c
#include <stdio.h>
// 定义回调函数的函数指针类型
typedef void (*callback_func)(int data);
// 模拟数据接收函数
void receive_data(callback_func callback)
{
int data = 10;
// 接收到数据后调用回调函数
callback(data);
}
// 回调函数的实现
void my_callback(int data)
{
printf("接收到数据:%d\n", data);
}
int main()
{
// 注册回调函数
receive_data(my_callback);
return 0;
}
```
在上面的示例中,我们首先定义了一个函数指针类型`callback_func`,它指向一个没有返回值、参数为`int`类型的函数。这个函数类型就是我们要实现的回调函数的类型。
然后,我们定义了一个模拟数据接收的函数`receive_data`,它接收一个回调函数作为参数。在函数内部,我们模拟接收到了数据后调用了传入的回调函数。
接着,我们实现了回调函数`my_callback`,它接收一个`int`类型的参数,并打印出接收到的数据。
最后,在`main`函数中,我们调用`receive_data`函数,并传入`my_callback`函数作为回调函数的参数。当`receive_data`函数接收到数据后,就会自动调用`my_callback`函数,并将数据作为参数传递给它。在本例中,`my_callback`函数打印出接收到的数据,实现了数据接收时的通知。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)