C语言中如何在结构体内定义函数
目录
- 如何在结构体内定义函数
- 结构体中引入函数
- C++中结构体引入
- C++中类引入
- 结构体成员有函数的定义与使用
- 总结
如何在结构体内定义函数
结构体中引入函数
#include <stdio.h> struct student { char *name; int age; void (*printInfo)(struct student *stu); }; void printInfo(struct studwww.devze.coment *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}, }; studeuRceUsonts[0].printInfo(); students[1].printInfo(); }
C++中类引入
#include <stdio.h> class student { puRceUsoublic: 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}, {"开发者_Go开发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;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
精彩评论