静态变量、自动变量与寄存器变量的存储

本文探讨了程序中的三种变量类型——静态、自动和寄存器变量,详细阐述了它们的存储位置和生存期。静态变量存储在静态内存中,全程有效;自动变量(局部变量)存储在堆栈中,随代码块执行创建和销毁;寄存器变量则存储在硬件寄存器,以提高访问速度。
摘要由CSDN通过智能技术生成

一、我们声明的变量有几类?

       变量的存储位置与变量的类型有关,这里变量的类型不是int、float之类的类型, 而是分为三类:静态变量、自动变量和寄存器变量。

        然而,变量到底属于这三类中的哪一类是根据变量在源文件中的声明位置声明方式所决定的。

二、这三类变量分别是怎么存储的(存储类型)?

       变量的存储类型(storage class)是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存储变量:静态内存、运行时堆栈、硬件寄存器。在这三个地方存储的变量具有不同的特性。

      (1)存储在静态内存的变量

               凡是在任何代码块之外声明的变量总是存储于静态内存中,也就是不属于堆栈的内存,这类变量也叫静态(static)变量。对于这类变量,你无法为它们指定其他存储类型。

               静态变量的生存期:静态变量在程序运行之前创建,在整个程序执行期间始终存在。


      (2

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值