C语言中怎么在结构体内定义函数

其他教程   发布日期:2023年07月06日   浏览次数:509

这篇“C语言中怎么在结构体内定义函数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中怎么在结构体内定义函数”文章吧。

    如何在结构体内定义函数

    结构体中引入函数

    1. #include <stdio.h>
    2. struct student {
    3. char *name;
    4. int age;
    5. void (*printInfo)(struct student *stu);
    6. };
    7. void printInfo(struct student *stu)
    8. {
    9. printf("name = %s, age = %d", stu->name, stu->age);
    10. }
    11. int main(int argc, char**argv)
    12. {
    13. struct student students[] = {
    14. {"zhangsan", 10, printInfo},
    15. {"lisi", 26, printInfo},
    16. };
    17. students[0].printInfo(&students[0]);
    18. students[1].printInfo(&students[1]);
    19. }

    C++中结构体引入

    1. #include <stdio.h>
    2. struct student {
    3. char *name;
    4. int age;
    5. void printInfo(void)
    6. {
    7. printf("name = %s, age = %d
    8. ", name, age);
    9. }
    10. };
    11. int main(int argc, char**argv)
    12. {
    13. struct student students[] = {
    14. {"zhangsan", 10},
    15. {"lisi", 26},
    16. };
    17. students[0].printInfo();
    18. students[1].printInfo();
    19. }

    C++中类引入

    1. #include <stdio.h>
    2. class student {
    3. public:
    4. char *name;
    5. int age;
    6. void printInfo(void)
    7. {
    8. printf("name = %s, age = %d
    9. ", name, age);
    10. }
    11. };
    12. int main(int argc, char**argv)
    13. {
    14. struct student students[] = {
    15. {"zhangsan", 10},
    16. {"lisi", 26},
    17. };
    18. students[0].printInfo();
    19. students[1].printInfo();
    20. }

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

    1. ```c
    2. #include <stdio.h>
    3. typedef int (*FunHandle)(int, int); //定义 指向函数的指针
    4. struct Example
    5. {
    6. int a;
    7. int b;
    8. FunHandle fun; //函数作为结构体成员
    9. };
    10. int add(int, int);
    11. int main()
    12. {
    13. struct Example ex;
    14. int r;
    15. ex.a = 1;
    16. ex.b = 2;
    17. ex.fun = add;
    18. r = ex.fun(ex.a, ex.b); //结构体中函数的 使用
    19. printf("%d + %d = %d
    20. ", ex.a, ex.b, r);
    21. return 0;
    22. }
    23. int add(int a, int b)
    24. {
    25. return a+b;

    以上就是C语言中怎么在结构体内定义函数的详细内容,更多关于C语言中怎么在结构体内定义函数的资料请关注九品源码其它相关文章!