结构体里可以放函数指针吗?
就是可以将函数以函数指针的方式放到结构体里吗?谁试过,举个例子学一下。
可以啊,函数指针就是个指针变量当然可以。 #include <stdio.h>
// 定义一个结构体
struct Calculator {
// 函数指针成员
int (*add)(int, int);
int (*subtract)(int, int);
};
// 加法函数
int add(int a, int b) {
return a + b;
}
// 减法函数
int subtract(int a, int b) {
return a - b;
}
int main() {
// 创建一个 Calculator 结构体实例
struct Calculator calc;
// 将函数指针指向相应的函数
calc.add = add;
calc.subtract = subtract;
// 使用结构体中的函数指针调用函数
int result_add = calc.add(10, 5);
int result_subtract = calc.subtract(10, 5);
printf("Addition result: %d\n", result_add); // 输出:Addition result: 15
printf("Subtraction result: %d\n", result_subtract);// 输出:Subtraction result: 5
return 0;
}
页:
[1]