全局变量与局部变量(c++)

本文介绍了C++中的全局变量和局部变量。局部变量仅限于函数内部使用,不同函数可声明同名局部变量;全局变量在整个程序范围内有效,可被多个函数访问。此外,还探讨了变量的生命期,包括自动存储方式(如栈上的局部变量)和静态存储方式(如静态局部变量和全局变量)。全局变量分为外部和内部,未特别声明的全局变量为外部,可跨文件使用,而static声明的全局变量则限制在当前文件内。
摘要由CSDN通过智能技术生成

变量可以在文件作用域或者块作用域中声明,在文件作用域中声明的变量称为全局变量,在块作用域中声明的变量称为局部变量。

1.局部变量

一般来说,在一个函数内部声明的变量为局部变量,其作用域只在本函数范围内。也就是说,局部变量只能在定义它的函数体内部使用,而不能在其它函数内使用这个变量。

说明:

  • 在不同的函数中可声明具有相同变量名的局部变量;
  • 形参也是局部变量,其作用域在定义它的函数内。所以形参和该函数体内的变量是不能重名的。

2.全局变量

在文件作用域中声明的变量称为全局变量,全局变量在声明后可以被很多函数使用。

说明:

  • 全局变量的作用域是从声明该变量的位置开始直到程序结束处;
  • 如果想在声明全局变量的前面使用该变量,而不需要重新声明,就必需使用extern关键字对其加以说明。

3.生命期

程序中的各种变量都有一个在需要时被创建,而在不需要时被删除的过程。在创建和删除之间所经过的时间称为生命期

1.局部变量的存储方式
(1)自动存储方式
局部变量,如不进行专门说明(专门说明为静态变量),都存放在堆栈区。对这些变量存储空间的分配和回收是由系统自动完成的,所以也叫自动变量。自动变量也可用关键字auto进行说明。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值