嘿。我在头文件中有这个:
struct something {
int a;
int b;
};
int all[25][9];
这个头文件包含在我项目中的所有 3 个 .c 文件中。其中一个文件(主文件)具有主要功能,其他文件具有在主文件中使用的功能。他们还通过使用 extern type variableName 使用在此主文件上声明的变量。然而,虽然我确实声明了 struct something *stuff;
并随后在主文件上对其进行了 malloc(这些其他文件直接使用此 stuff
),但我的 all
除了头文件之外,二维数组没有在任何地方声明。我在其中一个额外的 .c 文件中使用了这个数组。这个 all
数组会在每个数组中声明吗?我应该这样做吗?出于我的目的,必须在该头文件中引用 all
。我是否应该将 all
声明为 all[][]
然后在 .c 文件或类似的文件中为其分配一个大小?
最佳答案
如果您希望多个源文件共享一个名为all
的数组,您应该声明
extern int all[25][9];
在 header 中和
int all[25][9];
在 一个 的 c 文件中。
关于c - 标题和多个来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485679/