局部变量和全局变量之间的区别
创作时间:
作者:
@小白创作中心
局部变量和全局变量之间的区别
引用
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' 是全局变量。
局部变量和全局变量的详细对比
特征 | 局部变量 | 全局变量 |
|---|---|---|
范围 | 在函数内部声明 | 在函数外部声明 |
值 | 如果未初始化,则存储一个垃圾值 | 如果未初始化,则零存储为默认值 |
生命周期 | 在函数开始执行时创建,在函数终止时丢失 | 在程序的全局执行开始之前创建,并在程序终止时丢失 |
数据共享 | 数据共享是不可能的,因为局部变量的数据只能由一个函数访问 | 数据共享是可能的,因为多个函数可以访问同一个全局变量 |
参数 | 局部变量需要传递参数才能访问其他函数中的值 | 全局变量不需要传递参数,因为它在整个程序中都是可见的 |
修改变量值 | 当在一个函数中修改局部变量的值时,更改在另一个函数中是不可见的 | 当全局变量的值在一个函数中被修改时,在程序的其余部分中更改是可见的 |
访问者 | 局部变量可以在语句的帮助下在声明它们的函数内访问 | 您可以通过程序中的任何语句访问全局变量 |
内存存储 | 除非指定,否则它存储在堆栈中 | 它存储在由编译器决定的固定位置 |
热门推荐
办理日本签证的材料需要准备哪些
康熙字典三才五格最佳配置表 取名数理吉利的名字
充电桩使用难题?一文解锁充电小技巧!
嗓子扎了鱼刺不管它行吗
“天要下雨娘要嫁人”的由来和故事
“预防出生缺陷,守护生命起点健康”——胎儿室间隔缺损有长好的可能,你知道吗?
法院如何评估所提供证据的确凿性?
为什么慈禧太后可以自称慈禧,孝庄太后却不能自称孝庄呢
广东自考生注意了!自考缺考会被录入诚信档案,影响下一次报考!
银行ATM机无卡存款的操作流程是什么?
四级缺考一次下次还能报名吗?
安全标准化管理软件:如何有效提升企业安全管理效率?
快速傅里叶变换(FFT)的简单应用:提取信号中的主频率
3D 打印外壳:它们有必要吗?
别再说星座是统计学 唯有科学理性才能指引未来
赛博空间(Cyberspace):涵义、组成和特征
新员工必读:从培训到融入团队的全方位指南
如何提高保险理赔金额?这种提高有哪些方法策略?
摆脱颈椎病从改变姿势开始,看图学姿势!
横盘震荡的分析方法有哪些?这些分析方法的实际应用效果如何?
二手房过户后交钥匙的时间及流程解析
机票报销需要哪些材料?
专业嵌入式培训费用的影响因素分析
Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理
如何有效设置路由器以监控家庭网络?
脚底黑痣可能是癌变信号?别怕,可能只是...
香江拾珠:香港珠海学院举办“家国江湖——金庸武侠小说茶话会”
两岁宝宝饮食宝典:营养餐谱、食材选择与零食推荐
为什么推荐小学低年级学生学Scratch?真的很有用!
人民币纸币第一至第五套冠号有哪些特点和不同?