如何在 c 文件之间共享全局变量?
如果我在 .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
?
If I define a global variable in a .c
file, how can I use the same variable in another .c
file?
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;
}
How can the second file file2.c
use the value of i
from the first file file1.c
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
文件 1:
文件 2:
file 1:
file 2:
使用
extern
关键字在另一个.c
文件中声明变量。例如:表示实际存储位于另一个文件中。它可用于变量和函数原型。
Use the
extern
keyword to declare the variable in the other.c
file. E.g.:means that the actual storage is located in another file. It can be used for both variables and function prototypes.
使用 extern <变量类型>标头或其他 C 文件中的 <变量名称>。
using
extern <variable type> <variable name>
in a header or another C file.在第二个
.c
文件中使用具有相同变量名称的extern
关键字。In the second
.c
file useextern
keyword with the same variable name.与 file1.c 中的操作相同
在file2.c中:
如果使用int i;在 main() 下的 file2.c 中,i 将被视为本地自动变量,与 file1.c 中定义的不同
Do same as you did in file1.c
In file2.c:
If you use int i; in file2.c under main() then i will be treated as local auto variable not the same as defined in file1.c
在另一个 .c 文件中使用 extern 关键字。
Use extern keyword in another .c file.
如果你想在 file2.c 中使用 file1.c 的全局变量 i,那么需要记住以下几点:
a) 通过在 file2.c 中使用 extern 关键字声明,即 extern int i;
b) 通过在头文件中定义变量 i 并将该头文件包含在 file2.c 中。
If you want to use global variable i of file1.c in file2.c, then below are the points to remember:
a) by declaring with extern keyword in file2.c i.e extern int i;
b) by defining the variable i in a header file and including that header file in file2.c.
在定义第一个 c 文件的变量值时,在第二个中使用 extern 关键字。
//在第一个文件中
双z=50;
//在第二个文件中
外部双x;
use extern keyword in second while defining variable value of first c file.
//in first file
double z =50;
//in second file
extern double x;