函數與指針探究
阿新 • • 發佈:2018-04-11
nbsp 變量 參數 是的 bsp 沒有 優先 而是 函數
1.什麽叫函數指針,我們來做個對比:
1)這是我們常見普通的指針定義變量:
int a=10;
int *p = &a;
2)再看此例子:
int ADD(int a,int b); //定義帶參函數
int (*myFuncVar)(int a, int b) ; // 定義帶參數的函數指針,指針變量名為myFuncVar
myFuncVar = ADD; // myFuncVar變量名指向函數名,函數名即是函數的首地址,
是我們找到這個函數地點的門牌號。
上面也等價:
int ADD(int a,int b);
int (*myFuncVar)(int a, int b) = ADD;// 有沒有類似 int *p =&a 啊,答案是的
不知您是否理解沒,不行您就這樣看:
int (*myFuncVar)(int a, int b) = ADD ==》 int * myFuncVar = ADD 只不過是 myFuncVar不是普通的變量名,而是專門用來指向別的函數的變量,它帶著兩個參數 int a 與 int b,這樣我們就補充完整去: int * myFuncVar(int a,int b) = ADD; 這只是為了我們方便理解,因為其中存在著優先級問題,所以是這個醜樣:int (*myFuncVar)(int a, int b) = ADD 。
函數與指針探究