然后说一下这个,基础知识 | 每日一面(6)

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:怎样定义和声明全局变量和函数最好?

小林:

首先, 一个全局变量或函数可以有多处 “声明”, 但是 “定义” 却只能允许出现一次。定义是分配空间并赋初值 (如果有) 的声明。

最好的安排是在某个相关的 .c 文件中定义, 然后在头文件 (.h) 中进行外部声明, 在需要使用的时候, 只要包含对应的头文件即可。

定义变量的 .c 文件也应该包含该头文件, 以便编译器检查定义和声明的一致性。这条规则提供了高度的可移植性: 它和 ANSI C 标准一致, 同时也兼容大多数 ANSI 前的编译器和连接器。

Unix 编译器和连接器通常使用 “通用模式” 允许多重定义, 只要保证最多对一处进行初始化就可以了。

有时候,正是那些意想不到之人,成就了无人能成之事。——图灵

正文完