回调函数就是就是通过一个统一的接口实现不同的功能,c语言中的回调函数就是在代码中根据所传的参数不同而调用不同的回调函数
回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。回调函数使用是必要的,在我们想通过一个统一接口实现不同的内容,这时用回调函数非常合适。

【推荐教程:C语言教程】
比如,我们为几个不同的设备分别写了不同的显示函数:
void TVshow(); void ComputerShow(); void NoteBookShow()...等等。
这是我们想用一个统一的显示函数,我们这时就可以用回掉函数了。
void show(void (*ptr)());
使用时根据所传入的参数不同而调用不同的回调函数。
不同的编程语言可能有不同的语法,下面举一个c语言中回调函数的例子,其中一个回调函数不带参数,另一个回调函数带参数。
#include <stdlib.h>
#include <stdio.h>
int Test1()
{
int i;
for(i=0; i<p>效果图如下</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/ai/1467" title="小门道AI"><img
src="https://img.php.cn/upload/ai_manual/001/431/639/68b6cb457e7b0499.png" alt="小门道AI" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/ai/1467" title="小门道AI" class="overflowclass">小门道AI</a>
<p class="overflowclass">小门道AI是一款面向设计师的绘图模型、矢量转换和图片处理工具。</p>
</div>
<a rel="nofollow" href="/ai/1467" title="小门道AI" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>
<p><img src="https://img.php.cn/upload/article/000/000/028/5cb569677026c961.png?x-oss-process=image/resize,p_40"></p>
<p>以上通过将回调函数的地址传给调用者从而实现调用,但是需要注意的是带参回调函数的用法。</p>
<p>要实现回调,必须首先定义函数指针。函数指针的定义这里稍微提一下。</p>
<p>比如:</p>
<pre class="brush:html;toolbar:false">int (*ptr)();
这里ptr是一个函数指针,其中(*ptr)的括号不能省略,
因为括号的优先级高于星号,那样就成了一个返回类型为整型的函数声明了。
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。
13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!










