c语言的问题.我定义了一个结构体,请问怎么才能在分函数中调用这个结构体并改变它的某个值?该怎么定参

2024-12-04 10:58:55
推荐回答(3个)
回答(1):

  C语言在一个函数里面定义了一个结构体,在另外一个函数里面使用:
  struct tmp {
   int a;
   int b;
  };
  struct tmp c; //1. 采用全局变量
  int func1()
  {
   struct tmp c;

   func2(c); // 2. 采用传参
  }
  1. 定义成全局变量
  2. 通过传递参数
  3. 只能通过这两种方式

  tmp.h
  #ifndef TMP_H_
  #define TMP_H_
  struct Tmp {
   int a;
   int b;
  };
  extern struct Tmp c; //这里是main.c中定义的c的扩展,可以让包括这个头文件的文件中的函数 //都可以用这个变量
  #endif //TMP_H_
  把结构体写在tmp.h头文件中
  在main.c中定义
  struct Tmp c;

  在其它的.c文件中包含tmp.h,那么这个文件中的函数就可以用这个c了

回答(2):

把结构体变量定义成全局变量,改变结构体的值不如把结构体变量定义成结构体数组,函数的参数定义成结构体变量名,注意此被调用的函数是有返回值的

回答(3):

在结构体下面定义个结构体变量