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(回调函数)

相关推荐
qeen871 天前
【数据结构】树的基本概念及存储
c语言·数据结构·c++·学习·
pluviophile_s1 天前
第18讲:⾃定义类型:结构体
c语言·笔记
꧁细听勿语情꧂1 天前
向下调整算法,top - k 问题,链式结构二叉树,前中后序遍历
c语言·开发语言·数据结构·算法
SHARK_pssm1 天前
【数据结构——顺序表】
c语言·数据结构·经验分享·笔记
小柯博客1 天前
Amazon Kinesis Video Streams C WebRTC SDK 开发实战
c语言·开发语言·网络·stm32·嵌入式硬件·webrtc·yocto
上弦月-编程1 天前
C语言位运算:从入门到精通
运维·c语言·开发语言·vscode·算法·leetcode·极限编程
minglie11 天前
c语言面向对象的led
c语言·开发语言
钰珠AIOT1 天前
什么是句柄,有什么用?适用于什么场景?
c语言·c++
꧁细听勿语情꧂1 天前
用队列实现栈、用栈实现队列,树、二叉树、满二叉树、完全二叉树,堆、向下向上调整算法、出堆入堆、堆排序
c语言·开发语言·数据结构·算法
legendary_1631 天前
Type-C手机快充与音频/数据传输的完美融合:多功能转接器解析
c语言·智能手机·音视频