假設要設計乙個名為estimate()的函式,估算編寫指定行數的**所需的時間,並且希望不同的程式設計師都使用該函式。對於所有的使用者來說,estimate()中一部分**都是相同的,但該函式允許每個程式設計師都提供自己的演算法來估算自己演算法執行所需的時間。
為實現這種目標,採用的機制是,將程式設計師要使用的演算法函式的位址傳遞給estimate()。因此,必須能完成下面工作:
(1)獲取函式的位址;
(2)宣告乙個函式指標;
(3)使用函式指標來呼叫函式。
double pam(int);
double (*pf)(int); //pf points to a function that return double
double *pf(int); //pf() a function that returns a pointer-to-double
pam()的特徵標和返回值型別必須與pf相同。
pf = pam; //pf now points to the pam() function
double x = pam(4); //call pam() using the function name
double y = (*pf)(5); //call pam() using the pointer pf.
double y = pf(5); //also call pam() using the pointer pf
this means pf == (*pf). 函式指標與指標函式
指標函式 指標函式是指函式的返回值型別是乙個指標型別,即本質是乙個函式。我們知道函式都有返回型別 如果不返回值,則為無值型 只不過指標函式返回型別是某一型別的指標。其定義格式如下所示 返回型別識別符號 返回名稱 形式參數列 返回型別可以是任何基本型別和復合型別。返回指標的函式的用途十分廣泛。事實上,...
函式指標與指標函式
函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...
函式指標與指標函式
函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...