在头文件中声明外部变量

Declaring an extern variable in a header file

本文关键字:外部 变量 声明 文件      更新时间:2023-10-16

我在main中声明了一个external全局变量h头文件如下:

extern int variable;

然后,我在main中定义了相同的全局变量c文件如下:

int variable = 16;

问题是,我正在使用另一个名为test.c的文件,并且我包含了mainh标头包含在内。但是我无法访问"16"值,该值是我用内部main定义外部的c。当我在test.c内部调用"variable"时,"variant"的值为"0"。不应该包含我的main的任何.c文件h标头可以访问"16"值,因为我已经在main中定义了我的"变量"c???

感谢

当Include您的main.h头文件时,该文件的副本将包含在main.c程序中。

当您的alterate进入主.c文件时,它不会影响原始文件。因此,该值不会影响原始文件,并且当您将该文件再次包含在test.c文件中时。

然后main.h的副本将添加到测试.c文件

您只是将文件main.h包含在程序中。当您将变量包含在main.c中时,变量将为16,值将在main.h中更新。但是当您编译test.c时,变量的值最初将为0。因此,当您打印该值时,它将为0。

main.c和test.c将在两个独立的进程中执行,因此如果main.c中的值发生变化,则不会在test.c进程中更新。

只有在单个进程中,才会更新值。