我发现在某些情况下,即使没有使用extern关键字(尽管我同意它可以给读者一些有关变量的提示),我仍然可以实现所需的结果。在某些情况下,使用extern会产生不期望的结果。
xyz.h
int i;
file1.c
#include "xyz.h"
....
i=10;
....
file2.c
#include "xyz.h"
main()
{
printf("i=%d\n",i);
}
当然,这是一个庞大的项目,需要将其化简以便理解。使用"extern"关键字时,我无法得到预期的结果。实际上,采用"extern"方法后,变量i会出现链接错误。
"extern"方法的代码如下:
file1.c
int i;
main()
{
i=10;
}
file2.c
extern int i;
foo()
{
printf("i=%d\n",i);
}
这会导致链接错误。我只是想知道为什么在第一个案例和实际案例中使用关键字"extern",我们无法完成此操作。谢谢。
extern
,而所谓的重复则是关于正确使用extern
的。 - AnT stands with Russia