如果我在
.c
文件中定义了全局变量,如何在另一个 .c
文件中使用相同的变量?
file1.c
:
#include<stdio.h>
int i=10;
int main()
{
printf("%d",i);
return 0;
}
file2.c
:
#include<stdio.h>
int main()
{
//some data regarding i
printf("%d",i);
return 0;
}
第二个文件
file2.c
如何使用第一个文件i
中的file1.c
的值?
文件1:
int x = 50;
文件2:
extern int x;
printf("%d", x);
使用
extern
关键字在另一个 .c
文件中声明变量。例如:
extern int counter;
表示实际存储位于另一个文件中。它可用于变量和函数原型。
在标头或其他 C 文件中使用
extern <variable type> <variable name>
。
在第二个
.c
文件中使用具有相同变量名称的 extern
关键字。
与 file1.c 中的操作相同 在文件2.c中:
#include <stdio.h>
extern int i; /*This declare that i is an int variable which is defined in some other file*/
int main(void)
{
/* your code*/
如果你使用 int i;在 main() 下的 file2.c 中,i 将被视为本地自动变量,与 file1.c 中定义的不同
在另一个 .c 文件中使用 extern 关键字。
如果你想在file2.c中使用file1.c的全局变量i,那么需要记住以下几点:
在第二个定义第一个c文件的变量值时使用extern关键字。 //在第一个文件中 双 z =50;
//在第二个文件中 外部双 x;