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

C语言(长期更新)第14讲:指针详解(四)

C语言(长期更新)

第14讲:指针详解(四)

    跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力博主主页:潼心1412o-CSDN博客


知识回顾

上节课我们学习了指针的部分内容,对基础内容有了扎实的掌握,今天我们来继续学习几种特殊的指针,坐稳了,我们发车,gogogo,出发喽!


14.1 回调函数

通过函数指针调用的函数

一般都不是直接调用,有点抽象,举个🌰

上节课我们讲了一个冗余的代码,我们选择了转移表的方式,用指针数组解决问题,switch结构被舍弃了;那有没有办法还是用switch结构解决代码冗余的问题呢?

这就需要用到回调函数了

被回调的函数Add,Sub,Mul,Div并没有直接调用,而是通过函数calc调用,规避了代码的重复冗余,这就是函数指针的妙用

14.2 qsort 使用举例

在C语言中还有一个函数使用了回调函数,那就是qsort函数

qsort意即quick sort,快速排序,是一种排序算法

我们先前学过冒泡排序,就也是一种排序算法

但是冒泡排序存在一个很严重的缺陷就是它只能排整型数组

而qsort就可以排序任意类型的数据

14.2.1 qsort排序整形数组

14.2.2 qsort排序结构体数据

14.3 qsort函数的模拟实现

使用回调函数模拟实现(冒泡)

第一次使用void*指针,注意其作用


 好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~ 

博主主页:潼心1412o-CSDN博客

http://www.dtcms.com/a/367210.html

相关文章:

  • 第六章 Cesium 实现简易河流效果
  • FastDDS:第三节(3.2小节)
  • 规则引擎开发现在已经演化成算法引擎了
  • #T1359. 围成面积
  • Java并发编程:sleep()与wait()核心区别详解
  • 通过Interface扫描获取所有其实现类
  • AI 浪潮下阿里云“高光”乍现,但离终局胜利尚远
  • MySQL主从复制进阶(GTID复制,半同步复制)
  • 搭建基于 Solon AI 的 Streamable MCP 服务并部署至阿里云百炼
  • 鸿蒙NEXT动画开发指南:组件与页面典型动画场景解析
  • ios按键精灵提示 “设备信息丢失”如何处理?
  • 在Ant Design Vue 中使用图片预览的插件
  • Elixir通过Onvif协议控制IP摄像机,扩展ExOnvif的摄像头停止移动 Stop 功能
  • 【RNN-LSTM-GRU】第五篇 序列模型实战指南:从选型到优化与前沿探索
  • 对于数据结构:链表的超详细保姆级解析
  • 从0到1搭建某铝箔智慧工厂网络:5G与WiFi 6助力智能制造
  • 2025年财会领域专业资格认证选择指南
  • AR眼镜在智能制造的应用方向和场景用例|阿法龙XR云平台
  • BERT家族进化史:从BERT到LLaMA,每一次飞跃都源于对“学习”的更深理解
  • 【深度学习】P1 引言:深度学习的万家灯火
  • 网络安全初级-渗透测试
  • 下载apache-maven-3.6.1版本并配置maven镜像及本地仓库[超简单]
  • Hunyuan-MT-7B模型介绍
  • 告别低效广告!亚马逊关键词筛选全流程攻略
  • matlab版本粒子群算法(PSO)在路径规划中的应用
  • ultralytics/nn/tasks.py源码学习笔记——核心函数parse_model
  • 【正整数的最优分解2的次方和形式非0次方】2022-11-1
  • Java基础知识点汇总(五)
  • 什么是压力测试,有哪些方法
  • AI入坑: Trae 通过http调用.net 开发的 mcp server