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

iyfamqjs  于 2023-10-16  发布在  其他
关注(0)|答案(8)|浏览(152)

如果我在一个.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如何使用第一个文件file1.c中的i的值?

wh6knrhe

wh6knrhe1#

文件1:

int x = 50;

文件2:

extern int x;

printf("%d", x);
mwkjh3gx

mwkjh3gx2#

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

extern int counter;

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

mu0hgdu0

mu0hgdu03#

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

tyky79it

tyky79it4#

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

unguejic

unguejic5#

在file2.c中执行与file1.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;在file2.c的main()下,i将被视为局部自动变量,与file1.c中定义的不一样。

92vpleto

92vpleto6#

在其他.c文件中使用extern关键字。

qybjjes1

qybjjes17#

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

  1. main函数不应该出现在file2.c中
    1.现在全局变量i可以通过两种方式与file2.c共享:
    a)通过在file2.c中声明extern关键字,即extern int i;
    B)通过在头文件中定义变量i并将该头文件包括在file2.c中。
eyh26e7m

eyh26e7m8#

在定义第一个c文件的变量值时,使用extern关键字。//在第一个文件中double z =50;
//在第二个文件extern double x中;

相关问题