回调函数其实不是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函数放到那儿,什么时候调用它,你控制不了。
是由操作系统控制的,当操作系统检测到用户点击了该按钮,就会去调用你写的处理函数。
事件处理函数,对于你来说也是回调函数。
,