C語言中的函數指針可以用于存儲和調用函數。函數指針的定義方式如下:
返回類型 (*指針變量名)(參數列表)
例如,假設有一個函數 int add(int a, int b)
,可以定義一個函數指針來指向該函數:
int (*ptr)(int, int);
接下來,可以將函數的地址賦值給函數指針變量:
ptr = &add;
或者可以直接使用函數名來賦值給函數指針變量,因為函數名本身就是函數的地址:
ptr = add;
然后,可以通過函數指針來調用函數:
int result = (*ptr)(a, b);
或者可以簡化為:
int result = ptr(a, b);
完整的例子:
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int a = 3, b = 4;
int (*ptr)(int, int);
ptr = add;
int result = ptr(a, b);
printf("Result: %d\n", result);
return 0;
}
輸出結果為:
Result: 7