【发布时间】:2016-05-19 12:27:43
【问题描述】:
我正在阅读一个 C 项目的源代码,并试图找出为什么要使用 extern 的特定用法。 (注意:This question 是相关的,但对于 C++,而不是 C。)假设我有四个头文件,每个头文件都声明一个 extern const 结构:
extern const struct puppy fido;
这个结构体在源文件中定义如下:
extern const struct puppy fido;
static const struct puppy *puppies[] = { &fido };
const struct puppy fido = { "fido", 10, 10 };
当这些变量在同一个源文件中定义时,在源文件中将变量声明标记为extern 是否有某种好处?
【问题讨论】:
-
我认为这篇文章可能会有所帮助:stackoverflow.com/questions/1433204/…
-
请澄清一下,我是否理解正确:您有 4 个带有 extern 声明的头文件,以及 1 个包含 extern 声明和定义的 .c 文件?
-
@Lundin 没错。
-
fido是否在...中被引用? -
@M.M 是的,我已经更新了问题。
标签: c