C语言中变量的作用域和生存期

几个基本概念
  1. 静态存储区: 程序运行期间系统分配的固定的存储空间。
  2. 动态存储区: 程序运行期间根据需要进行动态分配的内存空间。
  3. 静态存储区和动态存储区都在内存中。
  4. 作用域:变量可被使用的范围。
  5. 生存期:变量在程序执行过程中存留时间。
全局变量(外部变量)
  1. 全局变量全部存放在静态存储区;作用域从变量定义处开始到本程序文件末尾;生存期从程序开始执行到程序执行结束(即程序执行期间不被释放)。
  2. 静态外部变量只能在本文件中被引用。
  3. 不被static修饰的全局变量可以通过extern被外部文件引用。
局部变量
  1. 自动变量(auto变量)都存储在动态存储区中;生存期和作用域都在其所在函数内。(系统默认没有声明存储类别的局部变量为自动变量,即auto可省略)
  2. 静态局部变量(static局部变量)存储在静态存储区中;作用域在函数内;生存期从程序执行到定义该变量开始到程序执行结束。
  3. 寄存器变量(register变量)存放在CPU的寄存器中,存取效率高。(register可省略,系统自动识别使用频繁的变量,存放在寄存器中。)
  4. 形参可定义为自动变量或者寄存器变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值