gpt4 book ai didi

c - c语言如何在多个源文件之间共享一个变量及其值?

转载 作者:太空狗 更新时间:2023-10-29 17:20:47 25 4
gpt4 key购买 nike

我有 2 个源文件 (.c),名为 file1.c 和 file2.c,它们需要在它们之间共享一个变量,因此,如果在一个源文件中更新了变量,那么在访问此变量时,将在另一个源文件中看到更改。

我所做的是创建另一个名为 file3.c 的源文件和名为 file3.h 的头文件(当然,它包含在 file1.c file2.c 和 file3.c 中)

in file3.c:

int myvariable = 0;

void update(){//updating the variable

myvariable++;

}

int get(){//getting the variable

return myvariable;

}

in file3.h:

extern int myvariable;

void update(void);

int get(void);

in file1.c:
.
.
.
printf("myvariable = %d",get());//print 0
update();
printf("myvariable = %d",get());//print 1
.
.
.

in file2.c:
.
.
.
printf("myvariable = %d",get());//print 0 but should print 1
.
.
.

但问题是在 file1.c 中调用更新并更新 myvariable在 file2.c 中看不到更改,因为在调用 get 时在 file2.c 中并且打印 myvariable 然后打印 0,仅当在 file2.c 中调用更新时才会看到更改。看起来变量是共享的,但对于每个源文件,该变量都有不同的变量值/不同的内存

最佳答案

您可以将变量声明为 extern当你需要变量时在其他文件中......

关于c - c语言如何在多个源文件之间共享一个变量及其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com