存储的属性有哪些

存储的属性有: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, ZLW的头像Z, ZLW
上一篇 2023年1月13日 下午10:04
下一篇 2023年1月15日 下午6:10

相关推荐

  • 管理类项目应用领域有哪些

    管理类项目应用领域广泛且多样,涵盖了各个行业和领域。首先,科技行业,例如软件开发、网络安全、人工智能等,都需要用到项目管理的知识和技能。其次,建筑行业,包括建筑设计、施工、装修等,都需要进行项目管理。再者,教育行业,包括学校管理、课程设计、教学改革等,也需要进行项目管理。另外,医疗行业,如医院管理、…

    2024年8月3日
    100
  • 项目总承包的管理方法有哪些

    项目总承包的管理方法主要包括:明确项目目标、设计合理的项目计划、设置明确的执行标准、进行有效的风险管理、建立有效的沟通机制、持续的项目监控、采取灵活的变更管理、实施全面的质量控制、进行科学的成本控制和使用先进的项目管理工具。其中,设计合理的项目计划是基础,它涵盖了项目的时间、资源和成本等关键因素。项…

    2024年8月3日
    000
  • 芯片项目管理工作内容有哪些

    芯片项目管理的工作内容主要包含以下几个方面:1、项目计划制定和执行;2、团队协调和管理;3、进度跟踪和控制;4、风险识别和处理;5、质量控制和保证;6、成本和资源控制;7、通信和信息管理;8、供应链管理。 首先,项目计划的制定和执行是芯片项目管理的基础环节。在该环节中,项目经理需要根据项目的目标和需…

    2024年8月3日
    000
  • 十个项目管理新术语有哪些

    在现今的项目管理中,有十个新的术语正在广泛使用,包括敏捷管理、瀑布模型、Scrum、Kanban、Lean、DevOps、Jira、Git、PingCode、Worktile等。其中,PingCode是一款专注于企业级应用开发的云端一体化开发平台,帮助企业快速构建、部署和运行应用程序。它的出现,使得…

    2024年8月3日
    000
  • 项目风险管理的风险类型有哪些

    项目风险管理中的风险类型主要包括:技术风险、财务风险、合同风险、市场风险、组织风险、政策风险等。其中,技术风险是项目风险管理中最常见的风险类型,它包含了技术实现难度大、技术研发不成熟、技术更新快等风险。这些风险可能导致项目无法按计划进行,严重时甚至会导致项目失败。例如,如果一个项目的技术实现难度大于…

    2024年8月3日
    000

发表回复

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

400-800-1024

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

分享本页
返回顶部