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 ——

推薦閱讀