开发者

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

开发者 https://www.devze.com 2023-02-25 10:45 出处:网络 作者: 徒步者~
目录如何在结构体内定义函数结构体中引入函数C++中结构体引入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;

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号