天天看點

回調函數qsort

回調函數就是一個通過函數指針調用的函數,如果你把函數的指針(位址)作為參數,傳給

另一個函數,當這個指針被用來調用其所指向的函數時,我們說這就是回調函數。回調函數不由

該函數的實作方式直接調用,在特定條件下由另外的一方調用,用于對該事件或者該條件進行相應。

qsort 快速排序庫函數void qsort (void* base, size_t num, size_t size,

            int (*compar)(const void*,const void*));

第一個參數待排序數組的首元素的位址,第二個參數待排序數組元素的個數

第三個參數是待排序的每個元素的大小機關是位元組,第四個參數是函數指針,比較兩個元素使用函數的位址,

函數自己定義,裡面兩個參數為待比較兩個元素位址

void*指針可以接收任意類型位址,但是不能解引用,解引用沒具體類型不能知道通路幾個位元組

這是回調函數的使用,函數裡面的實參是一個自己寫的函數指針

下面自己寫這個快速排序函數

這就是函數的實作,排序很多類型的數

繼續閱讀