C 结构作用域访问

C 结构作用域访问,c,arrays,struct,scope,C,Arrays,Struct,Scope,您好,这是我之前问的问题的延续,但是我当时没有注册,因此无法编辑该问题。无论如何,我有一个结构 typedef struct { char input[100][100]; int count; char name; int startTime; }INPUT; extern INPUT *global; 这在头文件中。stackoverflow成员建议在我的源文件中使用 INPUT global_[N], *global = global_; 声明并初始化它,这很好(就像我能够从

您好,这是我之前问的问题的延续,但是我当时没有注册,因此无法编辑该问题。无论如何,我有一个结构

typedef struct
{
 char input[100][100];
 int count;
 char name;
 int startTime;
}INPUT;

extern INPUT *global;
这在头文件中。stackoverflow成员建议在我的源文件中使用

INPUT global_[N], *global = global_;
声明并初始化它,这很好(就像我能够从该方法中存储和打印结构的信息一样),但是当我在代码的其他部分使用变量时,变量似乎超出了范围

我在一个名为readFile的方法中声明并使用变量global_uu,我试图通过*global访问main中的相同信息

可以这样做吗?
谢谢
芝士

这声明了一个名为
global
的全局变量


这定义了一个数组
全局
和一个变量
全局
。根据此定义出现的位置(在函数范围内,或在命名空间、类或函数中),
global
可能定义或可能不定义由
global
声明引用的同一对象

您指的是哪个变量?对于要回答的问题,您需要指定
global
的确切定义位置。当您链接到原始问题时,它可能会有所帮助。您是否试图从定义它们的文件外部访问
global\uu
global
?如果是这样,您可能需要使用
extern
来声明它们。否则,请提供一个最小的非工作示例。@Michael:请再看一次。它是
外部输入*全局extern INPUT *global;
INPUT global_[N], *global = global_;