1、概念
函数声明: int maxValue (int a, int b);
函数类型: int (int a, int b);
函数指针类型: int (*) (int a, int b);
函数指针定义: int (*p) (int a, int b) = NULL;
// p是函数指针变量,其它是类型.
2、函数回调
本质:函数指针作为函数参数,函数调用时传入函数地址;
特点:
1.函数回调可以让程序变得更灵活.
2.⾼高内聚,低耦合.
3、动态排序
使用情景:排序需求不定的时候;
具体使用步骤(以结构体为例):
1.定义一个比较结果的枚举,罗列比较的所有可能性.
2.将条件写成对应的比较函数,传入两个结构体变量.
3.封装排序函数,接收条件比较函数的地址.