【发布时间】:2015-10-08 11:35:02
【问题描述】:
在下面的代码中,我从 file2.c 中 var10 的变量声明中删除了 extern 这个词文件。但结果是 10 和 34 而不是我预期的 10 和 10。所以我们不能在不使用静态关键字的情况下拥有文件范围的变量?如果两个变量的范围相同,为什么我们不会出现多重定义错误?我用codeblcoks+mingw
file1.c
#include <stdio.h>
int var10;
int main (void)
{
var10=10;
printf("Var10 before function call=%d\n",var10);
var10TestFunc2();
printf("Var10 after function call=%d\n",var10);
}
file2.c
#include<stdio.h>
int var10;
void var10TestFunc2(void)
{
var10 = 34;
}
【问题讨论】:
-
“定义”与“声明”
标签: c mingw codeblocks