存储的属性有哪些

存储的属性有:1、存储位置;2、生存期;3、变量的作用域。存储位置是指,变量存储的地点,有普通内存、运行时堆栈、硬件寄存器三种存储位置,变量的缺省存储类型取决于它的申明位置。

存储的属性有哪些-Worktile社区

1、存储位置

  • 普通内存
  • 运行时堆栈
  • 硬件寄存器

变量的缺省存储类型取决于它的申明位置:

  • 凡是在任何代码块之外声明的变量总是存储在静态内存中。不属于堆栈内存,这类变量称为静态变量。静态变量在函数运行之前创建。
  • 在代码块内部声明的变量的缺省存储类型是自动的,存储在堆栈中。
  • 对于在代码块内部声明的变量,如果给它加上 static 关键字,可以使它的存储类型由自动转变为静态。具有静态存储类型的变量在整个执行过程中一直存在。而不仅仅是它所在的代码块执行的时候存在。注意:修改变量的存储类型,并不修改变量的作用域,它只是在该代码块内部按名字访问。
  • 寄存器变量:register 关键字。在程序运行时,根据需要到内存中相应的存储单元中调用,如果一个变量在程序中频繁使用,例如循环变量,那么,系统就必须多次访问内存中的该单元,影响程序的执行效率。因此,C语言\C++语言还定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。

2、生存期

从对象分配到内存开始,到垃圾回收器从内存中删除对象结束这一段时间。即对象的存在时间。生存期分为分为静态生存期和动态生存期。

标准C语言中,变量可以具有3种生存期中的一种:

  • 静态生存期:只要程序开始运行,这种生存期的变量就被分配了内存,这种变量的生存期和程序的运行期相同.
  • 局部生存期:这种变量的生存期开始于程序执行经过其声明点时,而结束于命名它的标识符所在的作用域尾.
  • 动态生存期:这种变量可以随时创建,随时删除,创建和删除是程序员用内存操作函数进行的。

3、变量的作用域

作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突。对于对象而言(其他也是一样的),在main函数中,对象的作用域为他所在的最近的一对花括号内。在后花括号处析构函数被调用;全局的对象的作用域为声明之后的整个文件,析构函数在最后被调用。另外,临时产生的对象在使用完后立即会被析构。

作用域分为全局作用域和局部作用域:

  • 全局作用域:由于内置名称空间的名字与全局名称空间的名字,可以在任何位置来访问,所以它们俩可以划到同一个范围,称之为全局范围即全局作用域。
  • 局部作用域:局部名称空间的名字只能在当前的函数中访问,所以它单独划到一个范围中,这个范围称之为局部作用范围即局部作用域。

延伸阅读

java中变量的存储位置

  • 寄存器:非常快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。
  • 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)
  • 堆:存放所有new出来的对象。
  • 静态域:存放静态成员(static定义的)。
  • 常量池:存放字符串常量和基本类型常量(public static final)。
  • 非RAM存储:硬盘等永久存储空间。

文章标题:存储的属性有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/35549

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW
上一篇 2023年1月13日 下午10:04
下一篇 2023年1月15日 下午6:10

相关推荐

  • 编程要学习那些语言

    Python、JavaScript、Java 是当前最流行的编程语言。Python 因其简洁易读的语法和强大的库支持而广受欢迎,在数据科学、机器学习、网络开发等领域都有广泛应用。它的简洁性使得初学者易于上手,同时它的多功能性也让经验丰富的开发者能够用来构建复杂的系统。 一、PYTHON的普及与应用 …

    2024年5月21日
    14600
  • 编程应该如何自学

    编程自学成功的关键要素包括1、设定明确的学习目标,2、选择合适的学习资源,3、制定学习计划,4、动手实践,5、加入社区,以及6、持续的学习和复习。 其中,设定明确的学习目标尤为重要。明确目标意味着你知道自己想要通过学习编程达到什么样的水平,比如是希望能够构建自己的网站、成为一名数据分析师还是开发手机…

    2024年5月21日
    7600
  • 梯形图编程是什么

    梯形图编程是一种以图形化方式表示控制逻辑的编程方法,主要应用于自动化和控制系统领域。该方法使得逻辑控制过程直观、易理解,能够有效提高系统设计的效率和可靠性。其中,逻辑控制的图形化表现是其最为显著的特点之一。 在梯形图编程中,程序的每一段逻辑都被分解成若干个"梯级",每个梯级代表一…

    2024年5月21日
    5200
  • 为什么要学儿童编程

    在当今这个数字化时代,1、培养逻辑思维、2、增强解决问题的能力、3、激发创造力、4、为未来的职业生涯打基础等都是学习儿童编程的重要原因。培养孩子的逻辑思维尤其重要,因为这种能力是学习任何知识和技能的基础。通过编码,孩子们可以学会如何分析问题、拆解问题,并通过一步一步的逻辑顺序解决问题。这种思维模式在…

    2024年5月21日
    5900
  • 上海什么是少儿编程定制

    上海少儿编程定制是指专门为上海地区的儿童提供个性化、针对性强的编程教育服务。这种服务的核心在于1、满足儿童的个性化学习需求;2、与地方教育资源结合;3、提供符合当地教育标准的教学内容和方案。在上海,少儿编程定制通常涉及软件编程、硬件操控和项目实践,有助于培养孩子们的逻辑思维能力、解决问题能力和创新精…

    2024年5月21日
    4100

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部