全局变量、局部变量之间的区别?三个维度回答
全局变量、局部变量之间的区别?四个维度回答
维度一:时间(生命周期)
从生命周期上讲,全局变量程序运行时创建、程序结束时销毁;普通的局部变量函数调用时创建、函数调用完成后销毁。
静态局部变量与静态全局变量都是静态的,生命周期与全局变量一致。
维度二:空间(作用域)
从作用域上讲,全局变量整个程序的源文件中任意位置可以使用;局部变量只能在函数中被调用。
维度三:外部链接
局部函数不可能具有外部链接;
非static类型的全局变量是可以被其他模块内使用的。
维度四:存储方式
实现全局或局部的本质是系统可以识别变量存储的位置不同,进而判断变量的类型。
全局变量存储在内存的静态存储区中;局部变量存储在栈空间中。
静态局部变量与静态全局变量都是静态的,存储位置都相同。
因此存储方式不同是变量分化为局部和全局的根本原因。

浙公网安备 33010602011771号