1> 修饰符
全局变量在声明源文件之外使用,需要extern引用一下;
静态变量使用static来修饰
2> 存储地址
两者都是存储在静态存储区,非堆栈上,它们与局部变量的存储分开
3> 生命周期
两者都是在程序编译或加载时由系统自动分配的,程序结束时消亡
4> 外部可访问性
全局变量在整个程序的任何地方均可访问,而静态变量相当于面向对象中的私有变量,他的可访问性只限定于声明它的那个源文件,即作用于仅局限于本文件中(除了成员变量,其他变量不能定义在@interface中,其他位置随意;即使声明位置在使用变量之后,也会被识别,除了声明放在@end之后)
网友评论