简介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_typeis_int;// 赋值boolresultcheck_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 fis_int;// 用这个类型声明变量 3.3 总结不带 typedef声明变量带 typedef定义类型1.普通变量inta;// 变量typedefintA;// 类型别名2.对应到函数指针bool(*check_type)(constchar*);// 变量typedefbool(*check_type)(constchar*);// 类型3.不用 typedefbool(*f1)(constchar*);bool(*f2)(constchar*);4.使用typedeftypedefbool(*check_type)(constchar*);check_type f1;check_type f2;写法本质作用bool (*check_type)(...)变量声明一个函数指针typedef bool (*check_type)(...)类型定义函数指针类型