C语言中如何在结构体内定义函数

Bonita ·
更新时间:2024-09-20
· 1839 次阅读

目录

如何在结构体内定义函数

结构体中引入函数

C++中结构体引入

C++中类引入

结构体成员有函数的定义与使用

总结

如何在结构体内定义函数 结构体中引入函数 #include <stdio.h> struct student {     char *name;     int age;     void (*printInfo)(struct student *stu); }; void printInfo(struct student *stu) {     printf("name = %s, age = %d", stu->name, stu->age); } int main(int argc, char**argv) {     struct student students[] = {         {"zhangsan", 10, printInfo},         {"lisi", 26, printInfo},     };     students[0].printInfo(&students[0]);     students[1].printInfo(&students[1]); } C++中结构体引入 #include <stdio.h> struct student {     char *name;     int age;     void printInfo(void)     {         printf("name = %s, age = %d\n", name, age);     } }; int main(int argc, char**argv) {     struct student students[] = {         {"zhangsan", 10},         {"lisi", 26},     };     students[0].printInfo();     students[1].printInfo(); } C++中类引入 #include <stdio.h> class student { public:     char *name;     int age;     void printInfo(void)     {         printf("name = %s, age = %d\n", name, age);     } }; int main(int argc, char**argv) {     struct student students[] = {         {"zhangsan", 10},         {"lisi", 26},     };     students[0].printInfo();     students[1].printInfo(); } 结构体成员有函数的定义与使用 ```c #include <stdio.h> typedef int (*FunHandle)(int, int);//定义 指向函数的指针 struct Example { int a; int b; FunHandle fun;//函数作为结构体成员 }; int add(int, int); int main() { struct Example ex; int r; ex.a = 1; ex.b = 2; ex.fun = add; r = ex.fun(ex.a, ex.b);//结构体中函数的 使用 printf("%d + %d = %d \n", ex.a, ex.b, r); return 0; } int add(int a, int b) { return a+b; 总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。



C语言 函数 结构体 c语言中

需要 登录 后方可回复, 如果你还没有账号请 注册新账号