先看函式指標
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)view codevoid
main()
例2:
#includevoidview codefilefunc()
void
editfunc()
void
main()
再看指標函式:
int *func(int x);/* 宣告乙個指標函式 */
int *q; /* 宣告乙個指標 */
q=func(3);//3可以為任意實參
上面三句基本說明了指標函式:
指標函式是返回值為指標的函式,所以我們在main()中呼叫它時可以用乙個同型別的指標來接收。
指標函式可以用來解決眾多問題,如返回多個值的問題。(見"函式返回多個值的方法"那篇文章)
指標函式比經常更經常用到,一定要學會用
指標函式邏輯簡單,結構清新,功能強大,***,效率高,堪比極品中的鳳姐,勝過。。。(求下聯),反正不學會真是損失。
例3:
#includeusingpf=*(p+m);//p是指向二維陣列的指標,加*取一維陣列的指標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)
這句很經典。
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 未...