嘿。我在头文件中有:标题和多个来源
struct something {
int a;
int b;
};
int all[25][9];
此头文件包含在我的项目中的所有3个.c文件中。其中一个文件(主文件)具有主要功能,其他文件具有在主文件中使用的功能。他们还使用在此主文件中声明的变量,通过使用extern类型variableName。但是,尽管我在主文件中声明struct something *stuff;
及以后的malloc,并且它的这些其他文件直接与此stuff
一起工作,但我的all
二维数组除了头文件外没有声明。我在这些额外的.c文件中使用这个数组。这个all
数组是否会在每个数组中声明?我应该这样做吗?为了达到我的目的,必须在该头文件中提及all
。我是否应该只声明all
为all[][]
,然后在.c文件上指定一个大小,或者类似的东西?
更重要的是,使用标头一个typedef所以你不要哪天结束与某人改变头和而不是定义,反之亦然。 – 2010-12-19 23:17:20
@John Zwinck:在这种情况下,你应该得到一个编译错误,只要你在定义它的文件中包含头文件。 – caf 2010-12-19 23:58:15