多的就不说了,说了也是废话,我直奔主题
这个问题不是我发现的,是一位朋友去一家公司面试之后回来问我的,当时我只是说它们内存中的位置不一样!但是他说他也是那么回答的,可是人家说这不是主要的区别!当时我也很诧异,觉得别的不会有什么区别!其实全局变量跟全局静态变量存放的地址应该是很近的,如果让我说具体存放在什么地方的话我都不知道!
后来经过多方查找,我才算真正明白了它们的区别:那就是可见度有区别!
我说可见度大家是不是觉得不妥,全局变量与全局静态变量的可见度应该是一样的阿!不错,但那是在一个文件里面,如果在别的文件里面想引用这两个变量,那么区别就出来了! 这时exrten 对全局变量是启效用的,但是对全局静态变量却不起丝毫作用!也就是说全局静态变量的可见度只是局限于本文件!
而全局变量与局部静态变量的差别除了文件外部的可见度,还有文件内部的可见度!局部静态变量与局部变量的不一样之处仅在于生命周期不一样,可见度是一样的!那么局部变量与全局变量的区别就不用我说了吧!
呵呵!!!