C C 函式指標,指標函式的用法,用處

2022-04-30 17:03:11 字數 1460 閱讀 8336

先看函式指標

int func2(int x);    /* 宣告乙個函式 */

int (*q2) (int x);   /* 宣告乙個函式指標 */

q2=func2;        /* 將func函式的首位址賦給指標f */

int c=(*q2)(3);   //3可以為任意實參

上面4句基本說明了函式指標的用法:

函式指標是指向函式的指標,確切的說,是指向特定型別函式的指標(函式與函式指標 型別要匹配)

函式指標用來儲存函式首位址,即可以通過該指標訪問函式。函式指標相當於取別名

函式指標可以指向一類函式,而不是乙個函式,即可以重新賦值。(見例2)

函式指標不難,只要記住上面黑體字就差不多了,附上兩個簡單的例子

例1:

#includeint max(int x,int y)

void

main()

view code

例2:

#includevoid

filefunc()

void

editfunc()

void

main()

view code

再看指標函式:

int *func(int x);/* 宣告乙個指標函式 */

int *q; /* 宣告乙個指標 */

q=func(3);//3可以為任意實參

上面三句基本說明了指標函式:

指標函式是返回值為指標的函式,所以我們在main()中呼叫它時可以用乙個同型別的指標來接收。

指標函式可以用來解決眾多問題,如返回多個值的問題。(見"函式返回多個值的方法"那篇文章)

指標函式比經常更經常用到,一定要學會用

指標函式邏輯簡單,結構清新,功能強大,***,效率高,堪比極品中的鳳姐,勝過。。。(求下聯),反正不學會真是損失。

例3:

#includeusing

namespace

std;

intmain()

,,};//

定義成績陣列,第一維可以為變數

float *pf=null;//

定義乙個指標時一定要初始化

inti,m;

//cout<

cin>>m;

pf=find(score,m);//

返回為一維陣列指標,指向乙個學生成績

for(i=0;i<4;i++)

cout

<

cout

<

return0;

}float *find(float (*p)[4],int

m)

pf=*(p+m);//p是指向二維陣列的指標,加*取一維陣列的指標

這句很經典。

C C 函式指標,指標函式的用法,用處

先看函式指標 int func2 int x 宣告乙個函式 int q2 int x 宣告乙個函式指標 q2 func2 將func函式的首位址賦給指標f int c q2 3 3可以為任意實參 上面4句基本說明了函式指標的用法 函式指標是指向函式的指標,確切的說,是指向特定型別函式的指標 函式與函...

c c 函式指標的用法

鏈結2 1.定義 每乙個函式都占用一段記憶體單元,它們有乙個起始位址,指向函式入口位址的指標稱為函式指標。2.語法 指向函式的指標變數的一般定義形式為 資料型別 指標變數名 參數列 3.說明 1 函式指標的定義形式中的資料型別是指函式的返回值的型別。2 區分下面兩個語句 int p int a,in...

C C 函式指標的用法

一 函式指標介紹 函式指標指向某種特定型別,函式的型別由其引數及返回型別共同決定,與函式名無關。舉例如下 int add int nleft,int nright 函式定義 該函式型別為int int,int 要想宣告乙個指向該類函式的指標,只需用指標替換函式名即可 int pf int,int 未...