龙空技术网

C语言基础:什么是回调函数?

程序员小斑 162

前言:

如今看官们对“c语音回调函数”可能比较珍视,同学们都想要剖析一些“c语音回调函数”的相关内容。那么小编同时在网摘上网罗了一些关于“c语音回调函数””的相关内容,希望我们能喜欢,姐妹们快快来学习一下吧!

回调函数其实不是C语言特有的,其它语言也有回调函数。

书上对回调函数一般的解释是 回调函数是好莱坞模式:Don't call me,I will call you。

这句话就给人带来误解,因为这句话是站在回调函数的调用方说的,我们是回调函数的提供方,所以不好理解。

从回调函数的提供方来说,凡是你在代码里没有写调用语句调用的,而函数又会在某些情况下执行的函数,就叫回调函数。

举个例子,

我们见的最多的回调函数就是main函数。

你的代码里有写main函数的调用语句吗?像这样 main();

但是你一点运行,main函数就被执行了。对于你来说,main函数,就是回调函数。

那么我们不禁要问,main函数是谁调用的呢?

其实是编译器提供的库函数调用的,它里面写了main函数的调用语句。在链接期间,把main函数,链接到程序里。

对于库函数来说,main函数就不是回调函数,因为main函数是它主动去调的。

还有一个例子是windows编程中,所有的事件处理函数。

比如按钮的Click处理函数。

作为提供方,你只是把Click函数放到那儿,什么时候调用它,你控制不了。

是由操作系统控制的,当操作系统检测到用户点击了该按钮,就会去调用你写的处理函数。

事件处理函数,对于你来说也是回调函数。

标签: #c语音回调函数