函式指標和指標函式

2022-05-03 03:15:14 字數 881 閱讀 8681

先說指標函式,這個簡單,就是乙個函式的返回型別是個指標嘛,如  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 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...