局部变量和全局变量之间的区别
创作时间:
作者:
@小白创作中心
局部变量和全局变量之间的区别
引用
1
来源
1.
https://www.guru99.com/zh-CN/local-vs-global-variable.html
局部变量和全局变量之间的主要区别
- 局部变量是在函数内部声明的,而全局变量是在函数外部声明的。
- 局部变量在函数开始执行时创建,在函数终止时丢失;另一方面,全局变量在执行开始时创建,在程序结束时丢失。
- 局部变量不提供数据共享,而全局变量提供数据共享。
- 局部变量存储在堆栈中,而全局变量存储在编译器决定的固定位置。
- 局部变量需要传递参数,而全局变量则不需要
什么是变量?
变量是分配给程序可以操作的存储区域的名称。 变量类型决定了变量内存的大小和布局。
它还确定了需要存储在内存中的值的范围以及可应用于该变量的操作的性质。
变量范围
变量的范围只是变量的生命周期。 它是变量适用或有效的代码块。 例如:
function foo(){
var x;
}
您在函数“foo”中声明了一个变量“x”。 该变量的范围保留在该函数内部,不能在该函数外部使用。
您可以在三个地方声明变量编程语言:
- 函数或块内部:局部变量
- 所有函数之外:全局变量
- 函数参数定义中:形参
局部变量
局部变量定义为在程序块或子程序中声明的变量类型。它只能在声明它的子程序或代码块内使用。局部变量存在直到函数块执行。之后它将自动销毁。
局部变量示例
public int add(){
int a =4;
int b=5;
return a+b;
}
这里,'a' 和 'b' 是局部变量
全局变量
A全局变量程序中的变量是在子例程或函数之外定义的变量。它具有全局作用域,这意味着它在程序的整个生命周期中都保持其值。因此,除非它被遮蔽,否则程序中定义的任何函数都可以在整个程序中访问它。
示例:
int a =4;
int b=5;
public int add(){
return a+b;
}
这里,'a' 和 'b' 是全局变量。
局部变量和全局变量的对比
特征 | 局部变量 | 全局变量 |
---|---|---|
范围 | 它在函数内部声明。 | 它在函数外部声明。 |
价值观 | 如果未初始化,则存储一个垃圾值 | 如果未初始化,则零存储为默认值。 |
终身版 | 它在函数开始执行时创建,在函数终止时丢失。 | 它在程序的全局执行开始之前创建,并在程序终止时丢失。 |
数据共享 | 数据共享是不可能的,因为局部变量的数据只能由一个函数访问。 | 数据共享是可能的,因为多个函数可以访问同一个全局变量。 |
参数 | 局部变量需要传递参数才能访问其他函数中的值 | 全局变量不需要传递参数,因为它在整个程序中都是可见的 |
修改变量值 | 当在一个函数中修改局部变量的值时,更改在另一个函数中是不可见的。 | 当全局变量的值在一个函数中被修改时,在程序的其余部分中更改是可见的。 |
访问者 | 局部变量可以在语句的帮助下在声明它们的函数内访问。 | 您可以通过程序中的任何语句访问全局变量。 |
记忆体储存 | 除非指定,否则它存储在堆栈中。 | 它存储在由编译器决定的固定位置。 |
热门推荐
从“熙媛”到“大S”:一个名字背后的文化密码
敏弱肌护理全攻略:专家详解6大护理要点与产品选购原则
"浩宇"这个名字有多火?数据告诉你答案
肩周炎如何中药治疗
餐后血糖超过10,不想吃药,这22个方法一定要收藏!(纯干货)
AI来袭!人类如何培养不可替代的核心优势?
AI时代下的职场心理健康:现状、挑战与应对之道
教练式领导力指南:如何从传统领导转型为卓越教练型领导者
最美自驾精品路:太行一号的绝美风光
太行一号公路秋景自驾游全攻略:红叶、挂壁公路与绝美风光
太行一号入选全国最美自驾路线!必打卡景点推荐
太行一号旅游公路:国字号推荐的文化探秘之旅
家庭DIY汤圆的制作过程与文化寓意,传递团圆与温馨的传统美食
粉底液用法|底妝順序褓姆級教學|顏色怎樣選?粉底掃與美妝蛋功效分別
经久不愈的溃疡,要及时就医
天宫月圆,人间团圆!快来看“花式汤圆”丨有一种过年叫奉贤
身体需要镁 摄取不足要补充
人生第一台汽车,到底买二手车好还是新车好?老司机和过来人有话说
80岁以上老人每月多领100元!各地高龄补贴标准大不同
泰山玩几天比较合适 泰山1~3日游路线攻略
食母生片使用全攻略:从儿童到成人,这些要点需谨记
千年渔村:蟳埔·簪花围引领全国旅游时尚 创新发展文化产业
"簪花围"火出圈 海南黎族苗族服饰可否也火一把?
食品包装生产线的三大发展趋势:智能化、绿色化与定制化
"头顶簪刀"柔中有刚!福州"三条簪"走红
泉州簪花的"泉城缘"
石家庄主导产业向新求变向智求质
德黑兰旅游必备:波斯语基础会话
墨家思想:兼爱非攻,构建和谐社会
游戏录屏秘籍:如何轻松捕捉并分享你的游戏高光时刻?