回调函数
回调函数就是一个通过函数指针调用的函数
运行流程可以这么理解:
如果输入1,执行calc(Add),将Add的指针传给int(*pf)(int,int),可以理解为int(*pf)(int,int))=Add,
在void calc(int(*pf)(int,int))里面执行Add这个函数
qsort
qsort 是一个库函数,头文件为#include<stdlib.h>对数据进行排序,基于快速排序的思想对数据进行排序(能排序任意类型的数据)
两个字符串比较大小使用strcmp(),头文件为#include<string.h>
void qsort(
void *base, // 1. 要排序的数组起始地址
size_t nitems, // 2. 数组元素个数
size_t size, // 3. 单个元素的大小(字节)
int (*compar)(const void*, const void*) // 4. 比较函数的地址
);
测试qsort排序结构体数据:
其中需要注意的点为:p1为void形,需要强制转换
结构指针和结构体成员访问操作符->
三个效果相同,ps直接找到所对应的指针