结构范围访问

时间:2010-10-18 08:00:41

标签: 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_;

声明并初始化它工作正常(因为我能够从该方法中存储和打印结构中的信息)然而当我在我的代码的其他部分使用变量时,似乎变量超出范围?

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

这可以吗?
由于

1 个答案:

答案 0 :(得分:1)

extern INPUT *global;

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

INPUT global_[N], *global = global_;

这定义了一个数组global_和一个变量global。根据此定义的位置(在函数作用域,或在命名空间,类或函数中),global可能定义也可能不定义global声明引用的同一对象。