C語言 函式指標
阿新 • • 發佈:2022-04-01
與陣列類似,函式在記憶體中佔用的是一塊連續記憶體,在表示式中可以被轉換為該函式在記憶體中的首地址。將首地址賦予給一個指標,此時這個指標就指向了這個函式。
宣告一個函式指標的寫法:
returnType (*pointerName)(param list);
returType表示函式的返回值,pointName表示指標名,後面的param list是對應所需的引數。可以只寫int float這樣的型別,也可以寫int a,int b這樣加上變數名。
聲明後,直接令其等於一個函式即可。操作後,可以直接用指標當函式名用,也可以將指標解地址當函式用。
舉個例子:
#include <stdio.h> intmax(int a, int b){ return a>b ? a : b; } int main(){ int x, y, res; //定義函式指標 int (*pmax)(int, int) = max; //也可以寫作int (*pmax)(int a, int b) scanf("%d %d", &x, &y); res= (*pmax)(x, y); //呼叫方法一
res=pmax(x,y); //呼叫方法二 res=max(x,y); //呼叫方法三
printf("Max value: %d\n", res); return 0; }