回调函数(入门篇)

首先,我们回忆一下,标准库函数printf是如何被我们调用的。

    1. 包含库函数所在的头文件   #include <stdio.h>
  	2. 调用printf,例如printf("Hello World");
  	3. 编译、运行,屏幕上输出了Hello World。搞定!

很好,我们就是这样调用标准库函数的。现在,假设有另外一个库函数myLib_ancient_times,它在被调用时,需要传入一个函数指针。

myLib_ancient_times(funPtr_modern_times);

奇妙的事情发生了,我们可以穿越了。

图解回调函数

提问:“传送门”是指什么?
答案:函数指针,指向函数funPtr_modern_times。

下面回归主题,什么是回调函数。答对了,就是“传送门”!
图解回调函数

输了这么多,是否感觉有那么一点点明白回调函数是什么了?接下来,我们通过实现一个计算器来更进一步理解回调函数。

目标:
实现一个计算器,可以实现正整数的加减乘除四则运算。
分析:
1. 输入的取值范围:0~9、+、-、*、/、=或回车
2. 输出:四则运算的计算结果,只显示整数部分

实现代码示例:

	#include <stdio.h>
	
	//calculator_lib.h
	typedef void (* calculator_callback_function)
	(
	    int    operator,
	    void * buf,
	    int    buf_len
	);
	
	calculator_callback_function cal_cb;
	
	typedef enum
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值