当前位置: 首页 > news >正文

【C语言干货】回调函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、回调函数

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、回调函数

         在 C 语言中,当你有一个函数并希望将其作为参数传递给另一个函数时,你可以使用函数指针来实现。在你提供的代码中,test 函数的形参 pf 是一个函数指针,它指向一个接受两个 int 类型参数并返回一个 int 类型结果的函数。

void test(int (*pf)(int, int))
{int ret = pf(4, 5);printf("%d\n", ret);
}

这里的 pf 就是一个函数指针,它的类型是 int (*)(int, int),这意味着它指向的函数应该接受两个 int 类型的参数并返回一个 int 类型的结果。

main 函数中,当你调用 test(Add); 时,你实际上是将 Add 函数的地址传递给了 test 函数。在 C 语言中,函数名本身就是一个指向该函数的指针。因此,当你传递 Addtest 时,你实际上是传递了 Add 函数的地址,也就是一个函数指针。

int main()
{test(Add); // Add 是函数名,它代表 Add 函数的地址return 0;
}

所以,是的,test(Add) 这里传递的是一个指针,但它不是变量的地址,而是函数的地址。这就是为什么你不需要使用取地址运算符 & 的原因。函数名 Add 已经隐式地表示了函数 Add 的地址。

相关文章:

  • 优先队列、堆笔记(算法第四版)
  • Android完整开发环境搭建/Studio安装/NDK/本地Gradle下载配置/创建AVD/运行一个Android项目/常用插件
  • APP、游戏、网站被黑客攻击了怎么解决?
  • 机器学习之三:归纳学习
  • 通俗易懂一文讲透什么是 MCP?
  • EMQX​​ 默认安装后常用端口及其功能
  • Opnelayers:向某个方向平移指定的距离
  • C++初阶-模板初阶
  • 业务中台与数据中台:企业数字化转型的核心引擎
  • 【源码】【Java并发】【ConcurrentHashMap】适合中学体质的ConcurrentHashMap
  • 全球城市范围30米分辨率土地覆盖数据(1985-2020)
  • MCP协议:AI生态的统一标准
  • ppt章节页怎么做好看?ppt章节页模板
  • 京东商品详情数据爬取难度分析与解决方案
  • 线上线程池的调优与监控 - Java架构师面试实战
  • C++ 基础内容入门
  • 服务器ubuntu镜像磁盘空间怎么管理
  • Java学习--HashMap
  • Nacos简介—4.Nacos架构和原理二
  • Rabbit MQ的基础认识
  • 习近平:在庆祝中华全国总工会成立100周年暨全国劳动模范和先进工作者表彰大会上的讲话
  • 中方会否公布铁线礁的领海基线?外交部:中方执法活动旨在反制菲方侵权挑衅
  • 高璞任中国第一汽车集团有限公司党委常委、副总经理
  • 最高法专门规范涉企案件审执工作:从源头防止趋利性执法司法
  • 可实时追踪血液中单个细胞的穿戴医疗设备问世
  • 坤莹·帕塔玛·利斯达特拉任世界羽联主席