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

C语言之函数指针 vs 类型别名typedef区别(五十八)

简介:CSDN博客专家、《Android系统多媒体进阶实战》作者

博主新书推荐:《Android系统多媒体进阶实战》🚀
Android Audio工程师专栏地址:Audio工程师进阶系列原创干货持续更新中……】🚀
Android多媒体专栏地址:多媒体系统工程师系列原创干货持续更新中……】🚀
专题一 二:AAOS车载系统+AOSP14系统攻城狮入门视频实战课🚀
专题三:Android14 Binder之HIDL与AIDL通信实战课🚀
专题四:Android15快速自定义与集成音效实战课🚀
专题五:Android15音频策略实战课🚀
专题六:Android15音频性能实战课(无声/杂音/断音/爆音实战案例)🚀

人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮


🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.开发需求

🌻1.前言

本篇目的:C语言之函数指针 vs 类型别名typedef区别

🌻2.开发需求

bool (*check_type)(const char *type_name) 与 typedef bool (*check_type)(const char *type_name);的区别

🐓 3.1 第一种方式:bool (*check_type)(const char *type_name)

  • 这是在声明一个函数指针变量
bool(*check_type)(constchar*type_name);

1.含义:

  • check_type 是一个变量
  • 它是一个“函数指针”
    指向的函数必须满足:bool func(const char *type_name);

2.使用示例:

boolis_int(constchar*type_name){returnstrcmp(type_name,"int")==0;}check_type=is_int;// 赋值boolresult=check_type("int");// 调用

🐓 3.2 第二种方式:typedef bool (*check_type)(const char *type_name)

  • 定义一种新的类型(类型别名)
typedefbool(*check_type)(constchar*type_name);

1.含义:

  • check_type 不再是变量
  • 而是一个“类型名”
  • 表示:函数指针类型

2.使用示例:

typedefbool(*check_type)(constchar*type_name);boolis_int(constchar*type_name){returntrue;}check_type f=is_int;// 用这个类型声明变量

🐓 3.3 总结

  • 不带 typedef:声明变量
  • 带 typedef:定义类型

1.普通变量:

inta;// 变量typedefintA;// 类型别名

2.对应到函数指针

bool(*check_type)(constchar*);// 变量typedefbool(*check_type)(constchar*);// 类型

3.不用 typedef

bool(*f1)(constchar*);bool(*f2)(constchar*);

4.使用typedef

typedefbool(*check_type)(constchar*);check_type f1;check_type f2;
写法本质作用
bool (*check_type)(...)变量声明一个函数指针
typedef bool (*check_type)(...)类型定义函数指针类型
http://www.jsqmd.com/news/698506/

相关文章:

  • 2026年宜昌吃肥鱼,盘点富含蛋白质且有传说故事的好店排名 - 工业品牌热点
  • 别再只会用--headless了!Selenium ChromeOptions 这10个参数让你的爬虫效率翻倍
  • 从无人机飞控到手机导航:聊聊你手机里的IMU是如何靠这几个坐标系‘认路’的
  • 2026年4月最新萧邦官方售后网点核验报告(含迁址新开):亲测避坑指南踩坑实录 - 亨得利官方服务中心
  • SCP收容物档案:从121到130的异常现象深度解析
  • Procise集成IAR版本升级报错:路径配置失效分析与一键修复
  • 海南洪鑫再生资源回收:海南废旧金属回收专业的公司 - LYL仔仔
  • 山西安居搬家:太原口碑好的搬家搬迁公司推荐几家 - LYL仔仔
  • 10个免费Illustrator脚本:终极设计效率提升指南
  • 泉州客多旧货回收:芗城制冷设备回收公司 - LYL仔仔
  • Pixel-Composer:无需代码的节点式像素艺术特效编辑器完全指南
  • 2026年搜索台州规模较大的律师事务所选择指南 - 品牌排行榜
  • 2026年4月最新万国官方售后网点核验报告(含迁址新开):盘点实测避坑指南 - 亨得利官方服务中心
  • QT6实战:从Qt Creator 13到Qt Design Studio 4的桌面应用一站式发布指南
  • 2026最权威的降AI率方案横评
  • 1688培训怎么选?点上商学院适合哪些企业主深度解读 - 博客万
  • 如何搭建环境并使用星际争霸II学习多智能体协同作战
  • Flutter for OpenHarmony 音频播放萌系小指南:给 App 加上软乎乎的 “小音箱”
  • 别再只用SIFT了!手把手教你用Colmap的RootSIFT和自定义特征提升三维重建精度
  • 别再死记硬背了!用PowerDesigner/MySQL Workbench实战ER图转关系模式(附完整SQL脚本)
  • 亲测好用敏感肌使用不过敏防晒霜推荐,Leeyo防晒霜敏感肌防水不致敏不泛白 - 全网最美
  • 2026年银川环保电缆与特种工况电缆供应商深度选型指南 - 企业名录优选推荐
  • OpenPLC Editor:开源工业自动化开发的终极解决方案
  • 告别手动解析!用Python+Tree-sitter快速提取代码语法树(附多语言实战)
  • 3步搞定AMD显卡AI绘画模型训练:kohya_ss终极指南
  • 2026年4月江诗丹顿官方售后网点核验横评与客观解析(含迁址新开) - 亨得利官方服务中心
  • 【兆易创新GD32H759I-EVAL开发板】TLI图层混合与动态UI设计实战指南
  • 有没有能抗光老紧致肌肤的防晒霜?Leeyo抵御光损紧致嫩肤抗老化 - 全网最美
  • Spyder 6.0:重新定义Python科学计算开发体验的技术架构演进
  • 2026年银川环保电缆与特种工况控制电缆采购指南:汇达线缆深度横评 - 企业名录优选推荐