1. 程式人生 > 其它 >C語言 函式指標

C語言 函式指標

與陣列類似,函式在記憶體中佔用的是一塊連續記憶體,在表示式中可以被轉換為該函式在記憶體中的首地址。將首地址賦予給一個指標,此時這個指標就指向了這個函式。

宣告一個函式指標的寫法:

returnType (*pointerName)(param list);

returType表示函式的返回值,pointName表示指標名,後面的param list是對應所需的引數。可以只寫int float這樣的型別,也可以寫int a,int b這樣加上變數名。

聲明後,直接令其等於一個函式即可。操作後,可以直接用指標當函式名用,也可以將指標解地址當函式用。

舉個例子:

#include <stdio.h>


int
max(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; }