C語言中的函數(shù)指針可以用于存儲和調(diào)用函數(shù)。函數(shù)指針的定義方式如下:
返回類型 (*指針變量名)(參數(shù)列表)
例如,假設(shè)有一個函數(shù) int add(int a, int b)
,可以定義一個函數(shù)指針來指向該函數(shù):
int (*ptr)(int, int);
接下來,可以將函數(shù)的地址賦值給函數(shù)指針變量:
ptr = &add;
或者可以直接使用函數(shù)名來賦值給函數(shù)指針變量,因為函數(shù)名本身就是函數(shù)的地址:
ptr = add;
然后,可以通過函數(shù)指針來調(diào)用函數(shù):
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;
}
輸出結(jié)果為:
Result: 7