目录
1. 回调函数是什么
2. qsort使用举例
3. qsort函数的模拟实现
4. sizeof和strlen的对比
1.回调函数是什么?
回调函数就是一个通过函数指针调用的函数。
当你把函数的指针作为参数传给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数不是由函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行相应。
上一讲中我们写的计算机实现的代码太过冗杂,其实,我们可以通过回调函数来将代码简化。如下:
2. qsort使用举例
2.1 使用qsort函数排序整型数据
2.2 使用qsort排序结构数据
3.qsort函数的模拟实现
使用回调函数,模拟实现qsort。
4. sizeof和strlen的对比
4.1 sizeof
在学习操作符时,我们学习了sizeof,sizeof计算变量所占内存空间大小,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占空间的大小
sizeof只关注占用内存空间的大小,不在乎内存中存放什么数据。
4.2 strlen
strlen是C语言库函数,功能是求字符串长度。函数原型如下:
统计的是从strlen函数的参数str中这个地址开始向后,\0之前字符串中字符的个数。strlen函数会一直向后找\0字符,直到找到为止,所以可能存在越界查找。
4.3 sizeof和strlen的对比
sizeof: strlen:
1.sizeof是操作符 1.strlen是库函数,使用需包含头文件string.h
2.sizeof计算操作数所占内存大小单位是字节 2.strlen是求字符串长度的,统计的是\0之前 的字符个数
3.不关注内存中存放什么数据 3.关注内存中是否有\0,如果没有\0,就会持续 往后找,可能会越界