c语言中回调函数的理解和使用

文章目录

  • [1 回调函数的作用](#1 回调函数的作用)
  • [2 回调函数的应用示例](#2 回调函数的应用示例)

>>返回总目录<<

1 回调函数的作用

回调函数是通过函数指针实现的。可以将调用者和被调用者进行解耦,通过一个函数指针可以关联不同的函数实现,实现前提是函数指针和函数实现的参数类型一致,用户通过把需要调用函数的指针作为参数传递给一个函数进行实现,可以实现个功能模块之间的解耦,增强代码的可移植性及函数调用的灵活性。

2 回调函数的应用示例

c 复制代码
#include <stdio.h>

int SUB(int a, int b); //函数声明
int (*p)(int a, int b); //定义一个函数指针,(*p)这里的()一定不能省略

int main()
{
	int a = 10;
	int b = 5;
	int result = 0;
	/* 将函数注册到函数指针,在实际应用中,可根据不同的场景注册不同的函数,类似C#语言中的Inferface作用*/
	p = SUB; 
	result = (*p)(a, b);
	printf("result = %d", result);
    return 0;
}

int SUB(int a, int b)
{
	return a + b;	
}
//输出:result = 15

参考1:c语言回调函数的使用及实际作用详解
参考2:究竟什么是callback function(回调函数)

相关推荐
铅笔小新z8 小时前
【C语言】操作符
c语言
by209999 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理
额额额对了9 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
Logic10110 小时前
C语言/数据结构位运算题解:异或XOR找出书柜中编号只出现一次的那一层——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10113 小时前
C语言/数据结构位运算题解:异或XOR找出星球探险中的“独特能量石“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Escalating_xu13 小时前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
垆边人似月.13 小时前
华为机考题:最小代价爬楼梯
c语言·c++
垆边人似月.14 小时前
华为机考题:二叉树的最大路径和
c语言·c++
程序猿编码15 小时前
不用 PyTorch!纯 C 实现 N 维张量 + 反向传播,完成手写数字识别训练
c语言·人工智能·pytorch·神经网络·卷积神经网络·大模型推理
Navigator_Z16 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode