一、回调函数的概念
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个 函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数 的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进 行响应。
这个概念是在鹏哥的视频指针进阶部分有讲过的,这段文字很抽象,看了之后还是有点难以get到何为抽象函数是吧?不要担心,马上就来讲解

简单来说就是,把A函数以指针形式传递给B函数,然后在B函数里头用A函数的地址重新去调用A函数的过程就是函数回调。
二、实际演示
鹏哥讲的这个计算器的例子,我觉得用来理解函数回调是再好不过了
首先来看,如果没有使用函数回调的代码是这样子的:
int Add(int x, int y) //定义加法运算
{
return x + y;
}
int Sub(int x, int y) //定义减法运算
{
return x - y;
}
int Mul(int x, int y) //定义乘法运算
{
return x * y;
}
int Div(int x, int y) //定义除法运算
{
return x / y;
}
void menu()
{
printf("**************************\n");
printf("**** 1

回调函数是通过函数指针调用的函数,常用于在特定事件发生时进行响应。文章通过一个计算器程序的示例,展示了如何使用函数回调减少代码冗余,提高效率。在主函数中,根据用户选择调用不同的计算方法,实现了功能的封装和简化。
最低0.47元/天 解锁文章
4万+





