void 指针的背后藏着什么? void是什么意思( 三 )


文章插图

3.2 C中自带的qsort函数—自定义排序qsort包含在头文件中 , 此函数根据你给的比较条件进行快速排序 , 通过指针移动实现排序 。 排序之后的结果仍然放在原数组中 。
使用qsort函数必须自己写一个比较函数 。 我们可以看看qsort函数的原型:
 void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );【void 指针的背后藏着什么? void是什么意思】    int nums[] = { 3,5,8,7,6 };    qsort(nums,sizeof(nums)/sizeof(int),sizeof(int),intDataCompare);    int i;    for(i=0;i<sizeof(nums)/sizeof(int);i++)    {        printf("%d ",nums[i]);    }    printf("/n");    Dog dogs[] ={{"沙皮",3},{"腊肠",10},{"哈士奇",5},        {"京巴",8},{"大狗",2}};    qsort(dogs,sizeof(dogs)/sizeof(Dog),sizeof(Dog),dogDataCompare);    for(i=0;i<sizeof(dogs)/sizeof(Dog);i++)    {        printf("%s %d ",dogs[i].name,dogs[i].age);    }那么 , 快速排序后是否有结果呢?答案是肯定的 , 我们可以传入各种比较方法 , 可以升序排序也可以降序排序 。

void 指针的背后藏着什么? void是什么意思

文章插图

—— The End ——

推荐阅读