在C語言中,結構體函數指針賦值需要按照以下步驟進行:
定義結構體類型,包含函數指針成員。例如:
typedef struct {
int (*func)(int, int); // 函數指針成員
} MyStruct;
定義函數,與結構體函數指針的簽名相匹配。例如:
int Add(int a, int b) {
return a + b;
}
創建結構體對象,并將函數指針賦值給結構體函數指針成員。例如:
MyStruct myStruct;
myStruct.func = Add;
這樣,myStruct.func 就指向了 Add 函數。可以通過調用 myStruct.func 來執行 Add 函數。
完整示例代碼如下:
#include <stdio.h>
typedef struct {
int (*func)(int, int); // 函數指針成員
} MyStruct;
int Add(int a, int b) {
return a + b;
}
int main() {
MyStruct myStruct;
myStruct.func = Add;
int result = myStruct.func(3, 4);
printf("Result: %d\n", result);
return 0;
}
運行結果為:
Result: 7