回调函数其实不是C语言特有的,其它语言也有回调函数,我来为大家讲解一下关于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函数放到那儿,什么时候调用它,你控制不了。

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

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

,