[软件资料] 怎么使用回调函数?

[复制链接]
 楼主| AdaMaYun 发表于 2024-4-7 19:00 | 显示全部楼层 |阅读模式

怎么使用回调函数?


  1. int Callback_1(int a)   ///< 回调函数1
  2. {
  3.     printf("Hello, this is Callback_1: a = %d ", a);
  4.     return 0;
  5. }

  6. int Callback_2(int b)  ///< 回调函数2
  7. {
  8.     printf("Hello, this is Callback_2: b = %d ", b);
  9.     return 0;
  10. }

  11. int Callback_3(int c)   ///< 回调函数3
  12. {
  13.     printf("Hello, this is Callback_3: c = %d ", c);
  14.     return 0;
  15. }

  16. int Handle(int x, int (*Callback)(int)) ///< 注意这里用到的函数指针定义
  17. {
  18.     Callback(x);
  19. }

  20. int main()
  21. {
  22.     Handle(4, Callback_1);
  23.     Handle(5, Callback_2);
  24.     Handle(6, Callback_3);
  25.     return 0;
  26. }



如上述代码:可以看到,Handle()函数里面的参数是一个指针,在main()函数里调用Handle()函数的时候,给它传入了函数Callback_1()/Callback_2()/Callback_3()的函数名,这时候的函数名就是对应函数的指针,也就是说,回调函数其实就是函数指针的一种用法。
weifeng90 发表于 2024-4-7 19:20 来自手机 | 显示全部楼层
回调函数就是传入函数的入口地址
szt1993 发表于 2024-4-10 09:30 | 显示全部楼层
回调函数其实就是函数指针的一种用法
中国龙芯CDX 发表于 2024-4-10 11:36 | 显示全部楼层
楼主这个回调函数的样例讲解的很详细,深入了解一下
小夏天的大西瓜 发表于 2024-4-11 18:21 | 显示全部楼层
回调函数解释的非常清楚,案例也很简单
jf101 发表于 2024-4-14 14:24 | 显示全部楼层
回调函数使用非常广泛尤其是中断
小小蚂蚁举千斤 发表于 2024-4-16 10:10 | 显示全部楼层
回调函数其实就是函数指针的一种用法。
OKAKAKO 发表于 2024-4-19 18:40 | 显示全部楼层
回调函数就是传入函数的入口地址
星辰大海不退缩 发表于 2024-4-21 12:30 | 显示全部楼层
这个回调函数的样例讲解的很详细,案例也很简单
您需要登录后才可以回帖 登录 | 注册

本版积分规则

299

主题

2492

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

299

主题

2492

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部