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

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

  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了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-14
把结构体变量定义成全局变量,改变结构体的值不如把结构体变量定义成结构体数组,函数的参数定义成结构体变量名,注意此被调用的函数是有返回值的本回答被网友采纳
第2个回答  2016-06-17
在结构体下面定义个结构体变量追答

struct sa
{
int a;
}temp;

然后在函数里面temp.a这样调用

相似回答