全局变量和局部变量(static, extern, volatile)
发布时间
阅读量:
阅读量
一,全局变量和局部变量概念
1,作用域
能使用某个变量的所有语句叫做变量的作用域。
在函数内部声明的变量被称为局部变量,在这种情况下这些局部变量的有效范围仅限于它们所处函数内部的所有指令;而位于程序外部的全局变量可以供整个程序中的各个部分使用;这些全局存在的变数具备广泛的应用能力并能够影响到程序运行过程中的多个环节。
2,全局变量
全局变量被设置在函数体外侧位置,并在全球数据区域中分配存储空间;编译器会自动对其执行初始化操作。
普通全局变在整个工程中默认可见;其他文件可采用extern关键字进行引用。
因此,在这种情况下其他文件不能再为与现有全球变量子类具有相同名称重新定义变量子类(否则编译器可能会将其视为同一个变量子类)。
这句话的意思是:为了避免与其他存在的具有相同名称的变量子类冲突,在这种情况下其他文件不能再为与现有全球变量子类具有相同名称重新定义变量子类。
3,局部变量
静态全局变量仅限于当前工作区可见,在这种情况下其他工作区无法访问它们。然而允许与其他工作区定义相同名称的变量子类是存在的,并且这种设定不会导致相互干扰。当需要为某些模块定义不依赖于其他模块的基础常量或变量子类时,则可以通过添加static关键字来实现这一目标,并由此减少模块之间耦合关系的同时也避免了因名字冲突而导致的功能混乱。通过这种方式不仅降低了潜在的功能混淆风险
全部评论 (0)
还没有任何评论哟~
