全局变量、局部变量之间的区别?三个维度回答

全局变量、局部变量之间的区别?四个维度回答

维度一:时间(生命周期)

从生命周期上讲,全局变量程序运行时创建、程序结束时销毁;普通的局部变量函数调用时创建、函数调用完成后销毁。

静态局部变量与静态全局变量都是静态的,生命周期与全局变量一致。

维度二:空间(作用域)

从作用域上讲,全局变量整个程序的源文件中任意位置可以使用;局部变量只能在函数中被调用。

维度三:外部链接

局部函数不可能具有外部链接;

非static类型的全局变量是可以被其他模块内使用的。

维度四:存储方式

实现全局或局部的本质是系统可以识别变量存储的位置不同,进而判断变量的类型。

全局变量存储在内存的静态存储区中;局部变量存储在栈空间中。

静态局部变量与静态全局变量都是静态的,存储位置都相同。

因此存储方式不同是变量分化为局部和全局的根本原因。

 

posted @ 2022-01-11 17:00  Kisen  阅读(703)  评论(0)    收藏  举报