c 函式指標

2021-10-04 21:48:55 字數 1552 閱讀 8227

c++ primer中對函式指標的定義為:函式指標指向的是函式而非物件。和其他指標一樣,函式指標指向某種特定型別。函式的型別由他的返回型別和形參共同決定,與函式名無關。

舉個栗子:

// 比較兩個string 物件的長度

bool

lengthcompare

(const string &

,const string &

);

該函式的型別是bool(const string &,const string &)。要想宣告乙個指向該函式的指標,只需要用指標替換函式名即可:

// pf指向乙個函式,該函式的引數是兩個const string 的引用,返回值是bool型別

bool

(*pf)

(const string &

,const string &);

// 未初始化

*ps: pf 兩端的括號必不可少,如果不寫這對括號,則pf是乙個返回值為 bool 指標的函式

// 宣告乙個名為pf的函式,返回值是bool *

bool

(*pf)

(const string &

,const string &);

// 未初始化

pf = lengthcompare;

// 方法1

pf =

&lengthcompare;

// 方法2

函式指標的使用:

bool b1 =pf(

"hellobike"

,"mobike");

// 方法1

bool b2 =

(*pf)

("hellobike"

,"mobike");

// 方法2

#include

using

namespace std;

double

fuc(

double a,

double b)

// 使用函式指標做形參

void

fuc1

(double p,

double

(*pf)

(double a,

double b)

)int

main()

{// 函式指標的呼叫

double

(*pf)

(double

,double);

pf = fuc;

cout<<

(*pf)

(0.2

,0.5

)

5.0;

// 呼叫引數為函式指標的函式,直接傳入函式名

fuc1

(p,fuc)

;return

0;

C 指標函式和函式指標

1 指標函式 1 基本概念 指標函式 顧名思義就是帶有指標的函式,即其本質是乙個函式,只不過這種函式返回的是乙個對應型別的位址。2 定義式 type func type type 如 int max int x,int y 3 例子詳解 cpp view plain copy 1.include 2...

c 指標函式和函式指標

函式指標與指標函式 1 函式指標 形式 返回型別 函式名 參數列 一種特殊的指標,它指向函式的入口 定義乙個函式指標p,只能指向返回值為int,形參為兩個int的函式 輸出結果 include stdafx.h include using namespace std int p int,int in...

C 函式指標與指標函式

函式指標 函式名本身代表著函式的位址,因此給函數指標賦值使可以不用加 符號 加也可以!void func int 定義乙個函式 void pf int 定義乙個函式指標 pf func 給函式指標賦值 int f x,y 其中x,y是形式引數,f是函式名,呼叫後返回乙個指向整型資料的位址指標。f x...