1 普通全局变量前面加上static 就成了static全局变量,他们的存储方式都是一样,存在静态存储方式。区别在于作用范围,普通全局变量作用域是整个源程序,当一个程序有多个源文件组成时候,普通全局变量在每个源文件中都是有效的,而静态全局变量则限制了作用域,只在定义该变量的源文件中有效。在同一个源程序中的其他源文件不能使用。由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。
static全局变量与普通全局变量区别 static全局变量只初始化一次,不能别其他源文件引用。
static局部变量与普通局部变量区别:static局部变量只初始化一次,下次引用的时候以上次的值。、
static函数与不同函数的区别:static函数在内存中只保存一份,普通函数被调用中维持一份拷贝。
2 引用一个已经定义过的全局变量
要在需要引用的文件中加上extern,或者直接extern 头文件
如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
3.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?