首先回顧函式指標的宣告方式:(以乙個返回值為空的有乙個int型別引數的函式指標為例)
void func(int); //函式
void (*func)(int) //函式指標
void (*func[5])(int) //函式指標的陣列
下面兩份**給出乙個返回值為函式指標的函式的例子,演示宣告該類函式的兩種不同方式,以及函式指標的使用。
#include
void (*func1(int n, void (*func)(int))) (int)
void func2(int n)
int main()
#include
typedef
void (*func) (int);
func func1(int n, func func)
void func2(int n)
int main()
測試結果
n = 9
m = 90
m = 90
m = 1
關於static的使用和函式中指標的乙個認識誤區
在最初學習c語言函式時,我們就知道給函式傳參有兩種方法,一種是按值傳遞,另一種是按位址傳遞 傳指標 以swap函式為例 void swap int a,int b int main sort n,a for int i 0 iprintf d pp i return 0 呼叫函式時,用指標p指向實參...
C 使用成員函式指標的乙個例子
進行單元測試,要測試乙個類的功能,下面這個測試類一共有三部分功能測試,每種測試分別在乙個函式中完成,然後可以通過鍵盤輸入控制測試模組是否執行。開始 寫成這樣 class pendulumtest void pendulumtest run void 感覺run函式的 太難看了,於是就使用成員函式指標...
C語言函式指標的使用
include int main int max int x,int y 如果在程式中定義了乙個函式,在編譯時,編譯系統為函式 分配了一段儲存空間,這段儲存空間的起始位址 又稱為入口位址 稱為這個函式的指標。注意如果上述例子中int p int,int 寫成int p int,int 那麼變成了宣告...