目录
1. 回调函数是什么?
2. qsort使用举例
3. qsort函数的模拟实现
1. 回调函数是什么?
回调函数就是⼀个通过函数指针调用的函数。
如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数 时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
第13讲中我们写的计算机的实现的代码中,红色框中的代码是重复出现的,其中虽然执⾏计算的逻辑是区别的,但是输入输出操作是冗余的,有没有办法,简化一些呢?
因为红色框中的代码,只有调用函数的逻辑是有差异的,我们可以把调用的函数的地址以参数的形式传递过去,使用函数指针接收,函数指针指向什么函数就调用什么函数,这里其实使用的就是回调函数的功能。
2. qsort 使用举例
2.1 使用qsort函数排序整型数据
2.2 使用qsort排序结构数据
3. qsort函数的模拟实现
使用回调函数,模拟实现qsort(采用冒泡的方式)。
注意:这里第一次使用 void* 的指针,讲解 void* 的作用。
后期说明:因为课程时间安排等原因,C语言部分可能会延迟更新,替换成C++内容,见谅。