全局变量可不可以定义在可被多个.C文件包含的头文件中?

 全局变量可不可以定义在可被多个.C文件包含的头文件中?

答案:可以,在不同的C文中中以static形式来声明同名的全局变量,可以在布偶年该的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错!

建议不要在头文件中定义变量,头文件中只做变量的声明!

为什么要声明为static的原因如下:

1》每个.c文件,会编译成一个obj,这样,如果你在头文件中定义,而不是声明,那么每个引用这个头文件的obj中都会有一个这个变量的实例,连接的时候就会报重复定义出错了。

2》static变量的作用域只在该编译单元内有效

posted on 2011-08-17 22:00  原来...  阅读(6979)  评论(0)    收藏  举报

导航