C语言在一个函数里面定义了一个结构体,怎么在另外一个函数里面使用?

2024年12月04日 05:12
有3个网友回答
网友(1):

函数里定义的结构体是局部变量,在这个函数外是不能使用的。
你要在函数外定义成全局变量。
例,函数外:
struct
s{
int
a;
}s1,s2;
这样的就定义了两个全局的结构体s1,s2,这两个结构体在所有函数中都可以使用,当然,使用它们的函数里,不能再定义相同名称的局部变量,否则使用的就是局部变量了。

网友(2):

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了

网友(3):

表示定义的是一个二维的结构体对象的数组
该数组为两行三列
类型为结构体类