C語言:函式指標及函式指標陣列
我們都知道,在C語言中,指標變數中存盤的就是一個地址,我們可以通過 ‘*’ 運算子,取出地址中存放的數值,而通過對指標變數的加減,我們就能知道一組地址中存放的資料的值,對許多個變數進行批量操作,其實函式也有地址,函式名就是函式的地址,
1. 函式指標變數的定義
函式回傳值 (*變數名) (引數串列中的型別);
如:int (*func) (int,int);
所定義的函式指標變數名是 func;變數指向的函式,其回傳值是int型別,
有兩個引數,都是int型別,
2. 定義函式指標變數型別
typedef int (*func) (int,int);
使用typedef關鍵字,將 func 定義為一個
回傳值是int型別,有兩個int引數的函式指標型別
3.利用函式指標型別建立函式指標陣列
typedef int (*func) (int,int);
func funcA[4] = {add,sub,mul,div};
//int (*funcA[4]) (int,int) = {add,sub,mul,div}; 也是可以的,一句話就可以定義和賦值,
for(int i = 0; i<4; i++)
{
printf("%d\n", funcA[i](20,10) );
}
/*
定義了簡單的4個函式,兩個整形數的加減乘除,回傳值都是 int 型別,也都有了兩個 int 型別的引數,
在這里建立一個擁有4個函式指標元素的陣列,賦值了加減乘除4個函式名(也就是函式地址),
就可以利用回圈,自動連續呼叫不同的函式,還是很讓人感到驚喜的,
*/
4. 運行結果
30
10
200
2

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/110503.html
標籤:其他
