2 6 函式指標

2021-06-03 00:09:22 字數 924 閱讀 9941

函式指標是指向可執行**段或呼叫可執行**段的資訊塊的指標,而不是指向某種資料的指標。函式指標將函式當作普通資料那樣儲存和管理。函式指標有一種固定的形式,就是包含乙個確定的返回值型別和若干個函式引數。宣告乙個函式指標看起來與宣告乙個函式非常類似,只是在函式名之前有乙個表示指標的*,並且函式名和星號會用小括號括起來。例如在下面一段**中,match被宣告為乙個函式指標,它接收兩個void指標型別的引數,同時返回乙個整型。

int (*match)(void *key1, void *key2);

以上函式宣告的意思是,我們指定了乙個接收兩個void指標,返回乙個整型,名為match的函式指標。例如:假設有乙個match_int函式,它的兩個void指標引數指向整型並回返1。考慮到之前的函式宣告match,我們可以這樣去賦值:

match = match_int;

要執行乙個由函式指標所引用的函式,我只需要在正常呼叫普通函式的地方呼叫函式指標。例如:想要呼叫之前提到的函式指標match,我們執行下面的語句,假設x,y和retval都已經被宣告為整型:

retval = match(&x, &y);

在本書中,函式指標的乙個重要用途是將函式封裝到資料結構中去。例如:在實現鏈式雜湊表時(見第8章),這個雜湊表資料結構就包含乙個類似以上所提到的名為match的函式指標。此函式的作用是,當任何時候我們需要判斷被查詢的數是否在表中存在時,都可以呼叫此函式來完成查詢。當雜湊表初始化時,某個函式會被指派給這個指標。這個被指派的函式與match有相同的原型,不同之處是,在內部進行兩個元素的比較時,函式會根據雜湊表中的資料型別進行具體型別的資料比較。在特定的資料結構中宣告乙個函式是c語言一種非常好的特性,因為它可以使資料結構或函式變得更具通用性。

ps:

演算法筆記 2 6函式

2.6 1函式的定義 1.重複性功能比較多時使用。2.返回型別函式名稱 引數型別參 數 3.區域性變數,函式內部生效。全域性變數,在所有函式前面。被所有程式共用。2.6.2再談main函式 現在以函式的眼光來看它 main是函式名稱 小括號內沒有填寫東西,因此是無參函式 返回型別是int型,並且在函...

函式指標 指標函式

a char fun1 char p1,char p2 b char fun2 char p1,char p2 c char fun3 char p1,char p2 後兩個都不難理解,那麼第乙個是什麼呢?這裡fun1 不是什麼函式名,而是乙個指標變數,它指向乙個函式。這個函式有兩個指標型別的引數,...

函式指標 指標函式

函式指標和指標函式,很多同學分不清楚,其實我們沒有必要刻意去區分他們的概念,可以自己寫乙個例子,就很容易明白他們各自的用途了!include include include int test int m,int n,int pfunc int a,int b int add int,int int ...