全局变量可不可以定义在可被多个.C文件包含的头文件中?
答案:可以,在不同的C文中中以static形式来声明同名的全局变量,可以在布偶年该的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错!
建议不要在头文件中定义变量,头文件中只做变量的声明!
为什么要声明为static的原因如下:
1》每个.c文件,会编译成一个obj,这样,如果你在头文件中定义,而不是声明,那么每个引用这个头文件的obj中都会有一个这个变量的实例,连接的时候就会报重复定义出错了。
2》static变量的作用域只在该编译单元内有效