如何在c文件之间共享全局变量?

时间:2011-07-22 16:17:31

标签: c extern

如果我在.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;
}

第二个文件如何使用此处第一个文件中i的值。

7 个答案:

答案 0 :(得分:57)

文件1:

int x = 50;

文件2:

extern int x;

printf("%d", x);

答案 1 :(得分:3)

使用extern关键字在另一个.c文件中声明变量。 E.g:

extern int counter;

表示实际存储位于另一个文件中。它可以用于变量和函数原型。

答案 2 :(得分:2)

在标题或其他C文件中使用extern <variable type> <variable name>

答案 3 :(得分:1)

在第二个.c文件中,使用具有相同变量名称的extern关键字。

答案 4 :(得分:1)

与file1.c中的操作相同 在file2.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中,我将被视为本地自动变量,与file1.c中定义的不同。

答案 5 :(得分:0)

在另一个.c文件中使用extern关键字。

答案 6 :(得分:0)

如果你想在file2.c中使用file1.c的全局变量i,那么下面是要记住的要点:

  1. 主要功能不应该出现在file2.c
  2. 现在全局变量我可以通过两种方式与file2.c共享:
    a)通过在file2.c中使用extern关键字声明,即extern int i;
    b)通过在头文件中定义变量i并在file2.c中包含该头文件。