天天看點

模拟qsort實作冒泡排序

1.數組指針

數組指針是指針,指針指向數組,其内部儲存的是數組的位址,隻要是指針,就占4個位元組。

比如:

2.函數指針和定義

定義:函數指針是指向函數的指針變量。

用途:調用函數和做函數的參數

聲明方法:傳回值類型(*指針變量名)([形參清單])

運作結果:

模拟qsort實作冒泡排序

輸出的是兩個位址,這兩個位址是 test 函數的位址。 那我們的函數的位址要想儲存起來,怎麼儲存? 下面我們看代 碼:

首先,能給存儲位址,就要求pfun1或者pfun2是指針,那麼答案就是:pfun1可以存放。pfun1先和*結合,說明pfun1是指針,指針指向的是一個函數,指向的函數無參數,傳回值 類型為void。

3.函數指針數組和定義,轉移表

定義:把函數的位址存到一個數組中,那這個數組就叫函數指針數組。

用途:轉移表

聲明方法:函數傳回值類型(*數組名[ ])( )

4.指向函數指針數組的指針和定義

定義:指向函數指針數組的指針是一個指針 指針指向一個數組,數組的元素都是函數指針;

5.回調函數的使用

回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(位址)作為參數傳遞給另一個函數,當這 個指針被用來調用其所指向的函數時,我們就說這是回調函數。

注:回調函數不是由該函數的實作方直接調用,而 是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。

7.使用qsort函數排序各種類型的資料。

模拟qsort實作冒泡排序

8.模仿qsort的功能實作一個通用的冒泡排序。

模拟qsort實作冒泡排序