请告诉我在不同文件中声明常量变量时extern变量的用法是什么。
答案 0 :(得分:5)
extern
关键字强制编译器将语句视为声明而不是定义。换句话说,extern
阻止编译器为变量保留空间。因此,只有不使用extern
的编译单元提供定义,而其他只使用声明,这符合“一个定义规则”;如果每个编译单元要为同一个变量独立保留空间,则会导致违反“一个定义规则”。请注意,extern
字面意思是“定义是在外部提供的(由不同的编译单元提供)”。
答案 1 :(得分:1)
就像C一样,extern关键字意味着该符号在另一个目标文件中定义,该文件将在编译阶段链接到该文件。