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:请再看一次。它是外部输入*全局当我读到它时,我认为Chee用它代替了下面的建议。也许我误解了。
extern INPUT *global;
INPUT global_[N], *global = global_;