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

相关推荐
我要学脑机25 分钟前
C语言面试题问题+答案(claude生成)
c语言·开发语言
今麦郎xdu_1 小时前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
Vanranrr3 小时前
nullptr vs NULL:C/C++ 空指针的演变史
c语言·c++
Sunsets_Red3 小时前
差分操作正确性证明
java·c语言·c++·python·算法·c#
第七序章4 小时前
【C++】AVL树的平衡机制与实现详解(附思维导图)
c语言·c++·人工智能·机器学习
Emilia486.7 小时前
【Leetcode&nowcode&数据结构】单链表的应用(初阶)
c语言·数据结构·算法·leetcode
草莓工作室7 小时前
AT指令解析:TencentOS Tiny AT指令解析源码分析2-数据类型定义
c语言·at指令·tencentos tiny
骁的小小站7 小时前
Learn C the Hardway学习笔记和拓展知识(一)
c语言·开发语言·c++·经验分享·笔记·学习·bash
胖咕噜的稞达鸭9 小时前
C++中的父继子承(2)多继承菱形继承问题,多继承指针偏移,继承组合分析+高质量习题扫尾继承多态
c语言·开发语言·数据结构·c++·算法·链表·c#
时时三省10 小时前
【时时三省】(C语言基础)用格式化的方式读写文本文件
c语言