不知不觉我们已经到了指针详解的第五篇文章。这篇文章我主要想讲两个知识点。第一个就是回调函数第二个就是qsort函数的具体介绍。好了废话不多说我们现在开始今天的文章。1、回调函数在写代码之前我们需要搞明白什么是回调函数。回调函数就是通过一个函数指针调用的函数。如果你把函数的地址作为参数传给了另一个函数当这个指针被用来调用其所指向的函数时被调用的函数就是回调函数。概念不懂没关系接下来我会通代码的方式给到大家好好理解理解。大家请看下面的代码。上面的代码展示的就是我用的一般的方法写的计算机。但是大家看看上面的代码是不是有许多重复的地方并且还重复了还多次那么对于编译器来说没什么但是对于电脑的内存来说就有点浪费空间了。那么为了优化这个代码接下来我就会使用回调函数的方法来改造这个代码希望大家看了我改造的代码之后就可以理解回调函数了大家请看下面的图片。上面的代码就是使用了回调函数的方法来简化的上述的的代码大家看看是不是简单了许多这就是回调函数的神奇之处了。那么感兴趣的朋友可以自己在编译器上尝试尝试。希望对大家有帮助。2.qsort的详解接下来我会给大家讲到一个C语言中常用的排序的函数那就是qsort函数这是一个C语言中规定好的一个排序的函数。这个函数的基本思想是快速排序的思想。接下来我会跟给大家看看这个函数的一般形式并且给大家好好解释一下。大家请看下面的图片。qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));上面的代码快展示的就是qsort函数的基本用法接下来我会一一向大家介绍这个函数大家请看下面的解释。1.qsort总共是由四个参数组成的2.第四个参数是函数指针可以指向一个函数这个函数的参数是const void*,const vovid*,返回类型是int3.base是待排序的数据的第一个元素的地址4.nmemb是待排序数据的元数个数5.size是指待排序数据的一个元素的大小6.compar是一个函数指针这个函数指针可以用来比较两个元素的的大小7.在使用qsort函数时要包含一个头文件那就是stdlib.h好了上面展示的就是这个函数的注意事项了当然我还是会给大家写代码在代码中领悟知识点是最好的好了大家请看那下面代码我使用的是用qsort排序结构数据。上面展示的就是按照年龄来排序的方法接下来我会给大家讲一讲使用按照名字大小排序的方法大家请看下面的代码图片。好了上面的代码我就跟给大家展示好了感兴趣的朋友可以自己在编译器上尝试一下。当然我更希望大家可以灵活使用这个排序的函数这个函数在之后的代码在会使用的很多。好了今天的博客就分享到这里今天有许多的代码需要大家自行练习。希望我的博客对大家有帮助我们下次博客再见