全局变量和静态全局变量

全局变量和局部变量是从变量的作用域的角度划分。
静态变量和动态变量是从变量的内存分配的角度划分。

全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同,区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。

使用场景:防止全局变量在其他源文件中被使用
由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。

参考:
静态变量
动态变量
全局变量
局部变量

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 相同点: 存储区域相同:全局变量和静态全局变量都存放在静态存储区。生命周期相同:全局变量和静态全局变量的都是在程序...
    Zentopia阅读 4,474评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,794评论 1 32
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 10,822评论 1 22
  • 我告诫自己 写诗 不是找乐子 不是闲得无聊 不是无事生非 能不写尽量不写 随便乱写 一定是 制造垃圾 附记:说实话...
    驿舟阅读 1,924评论 2 5
  • 我有一个非常辛苦的爷爷,我的爷爷中等个,我的爷爷一天天种地,他还给我买很多很多的好吃的,我非常喜欢我的爷爷,这就是...
    王亚楠姐阅读 1,696评论 0 0