static变量,与全局变量有什么区别,请指教

如题所述

1、static 全局变量称:静态外部变量或称静态全局变量。 2、非static全局变量称:外部变量或称全局变量。 3、区别是:用static声明的外部变量,只能供本文件内的函数调用,不能被其它文件的函数所调用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-11
static变量只能被static 方法或者类调用;
全局变量可以被所有的方法或者类调用。
第2个回答  2017-01-11
1、全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。
2、而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。
3、从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。本回答被网友采纳
相似回答