在头文件中声明外部变量
Declaring an extern variable in a header file
我在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进程中更新。
只有在单个进程中,才会更新值。
相关文章:
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 堆栈/帧指针作为外部变量
- const_cast const 方法中的"this"将"this"分配给外部变量?
- 外部变量的初始化
- 如何在命名空间中初始化外部变量
- 将全局外部变量的私有版本与 OpenMP 结合使用
- 使用外部变量会导致"unsigned char"错误LNK2001
- 为什么通过复制捕获 lambda 具有与外部变量相同的地址
- 我们是否应该在项目中包含的所有文件中声明外部变量
- 如何将 Wifi.localIP() 转换为字符串并将其存储到外部变量
- 具有仅在某些情况下引用外部变量的属性的类
- C 中的外部变量
- Xcode C++外部变量链接器错误
- 使用外部变量时的多重定义错误
- C 和 C++ 中的外部变量有什么区别
- 默认情况下,非常量变量不被视为外部变量吗?
- 当外部变量在其他文件中声明不同时,如何使G 产生警告
- 是初始化为其默认值的外部变量
- 将外部变量传递给类 c++
- C++中有更多的类和外部变量