在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
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: c语言怎么删除文本内容