1、qsort()的函数原型在stdlib.h中,它相当于:void qsort(void *arry,size_t n_els, size_t el_size, int compare(const void *,const void *));
2、 注意,这里使用了size_t类型。标准函数库中的许多其他函数也使用了这种类型。当qsort()被调用时,它的第一个参数就是需要排序的数组,它的第二个参数就是这个数组的元素数量,它的第三个参数是每个元素的字节数,它的第四个参数是个函数,称作“比较函数”,用于对数组中的元素进行比较。在qsort()的这个函数原型中,第四个参数的声明如下:int compare(const void *, const void *) 它本身是函数原型,就是比较函数的函数原型。比较函数接受两个void类型的指针为参数。当compare()被调用时,这两个参数将指向数组的元素。比较函数根据第一参数是小于、等于或者大于第二个参数,返回一个小于、等于、或者大于0的int值。两个指针的类型为void *,这是为了使他们更为通用。
3、 我们会看到,qsort()可以对任何类型的数组进行排序。类型限定符const告诉编译器这两个指针所指向的对象不应该被修改。