先說指標函式,這個簡單,就是乙個函式的返回型別是個指標嘛,如 int* f(x,y);
指向函式**首位址的指標變數稱為函式指標。
bool lc (string &, string &); //宣告乙個普通函式
bool (*pf) (string &, string &); //宣告乙個函式指標
下面的**是合法的:
bool b=lc(str1,str2);bool b=(*pf)(str1,str2);
typedef bool (*cmpfunc) (string &, string &); //定義一種型別的名稱,這種型別就是函式指標
下面的**是合法的:
1 cmpfunc pf1=0;2 cmpfunc pf2=&lc;
3bool b=(*pf2)(str1,str2);
4 cmpfunc pf3=lc;
5bool b=pf3(str1,str2);
第2行與第3行容易理解,而第4行與第5行也中合法的,此時可以把cmpfunc理解一種函式型別。
在使用**函式時經常需要把乙個函式作為引數傳遞給另外乙個函式。可以有下面兩種形式:
void usebigger(string &,string &,bool(string&,string&));void usebigger(string &,string &,bool (*) (string&,string&));
所以下面的**是合法的:
usebigger(str1,str2,pf2);usebigger(str1,str2,pf3);
函式指標 函式指標陣列和指標函式
1.函式指標 這個指標返回乙個函式 int f int x 宣告乙個函式指標 f func 將func函式的首位址賦給指標f 2.函式指標陣列 這個指標返回一組函式 include stdio.h void function0 void void function1 void void functi...
指標函式和函式指標
指標函式和函式指標 一 指標函式 當乙個函式宣告其返回值為乙個指標時,實際上就是返回乙個位址給呼叫函式,以用於需要指標或位址的表示式中。格式 型別說明符 函式名 引數 當然了,由於返回的是乙個位址,所以型別說明符一般都是int。例如 int getdate int aaa int,int 函式返回的...
函式指標和指標函式
函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...