【发布时间】:2012-10-04 13:32:59
【问题描述】:
我有两个 C 文件 1.c 和 2.c
2.c
#include<stdio.h>
static int i;
int func1(){
i = 5;
printf("\nfile2 : %d\n",i);
return 0;
}
1.c
#include<stdio.h>
int i;
int main()
{
func1();
printf("\nFile1: %d\n",i);
return 0;
}
我用“gcc 1.c 2.c -o st”编译了这两个文件 输出如下
file2 : 5
File2: 0
我期待的输出如下
file2 : 5
File2: 5
我想在两个文件中访问同一个变量“i”。 我该怎么做?
【问题讨论】:
-
你不能有两个
main()函数。 -
对不起我的错误。我编辑了问题
-
在一个 cpp 文件和另一个使用关键字 extern 中定义变量。
-
这个问题没有任何意义。将文件范围变量声明为静态的全部意义在于防止它被其他文件访问。你应该问自己的是“为什么我在我的代码中使用静态,而我不知道关键字的含义”
-
您可以使用 extern 代替 static。