gpt4 book ai didi

C 外部变量访问

转载 作者:行者123 更新时间:2023-12-02 08:49:10 26 4
gpt4 key购买 nike

我有一个头文件,其中声明了一个外部变量。

所以它在这个 a.h 文件中看起来像这样

  extern uint16_t externVariable;

所以我有 2 个 .c 文件 b 和 c,我想在其中访问 a.h 文件中的外部变量。在 b 和 c .c 文件中我已经包含了 a.h 文件

当我没有在 b 中声明变量但在 c 中声明时(没有 extern 这个词)这类似于

 uint16_t externVariable;

它工作正常。但是当它在 b 和 c 中时我有一些编译错误。有什么办法可以解决吗?

这样做的原因是我在 .c 文件中有代码,为了整洁和清晰,我想将代码分成 2 个不同的 .c 文件。

最佳答案

变量只能在一个源代码文件中声明。 (在您的示例中为文件 b.c)。

通过在头文件中或什至在多个 .c 文件的顶部声明它 extern,您实质上是在声明“该变量不在此处,它是外部的。但它确实存在,并且对您可见。”

变量应该“存在”在一个文件中。

如果您尝试使其在多个源文件中“生效”(例如,通过在 b.cc.c 中声明它),您将得到以下错误你看到了。

关于C 外部变量访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900516/

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