程序设计_1212第六章存储类型第七章结构.pdf

程序设计_1212第六章存储类型第七章结构.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》多媒体教程 第十二讲 第六章 存储类型和编译预处理 6.1 数据的存储类型 ※ 什么是数据类型 我们已经知道每定义一个变量或者函数,需要确定它们的数据类型。数据类型是指int, char,float等基本类型,或者数组,指针等构造类型。具有某种数据类型的变量在计算机内 存中占有多少字节,需要按照什么格式来翻译内存中按二进制存储的数据。可以说,数据类 型表达的是“什么数据(what)”和“如何表达(how)”的信息。 ※ 什么是数据的存储类型 数据的存储类型是指我们定义的变量将存放在计算机中的什么地方(where),它们在什 么时候将占有所需要的存储空间,或者说什么时候可以访问这些变量(when)。 ※ 数据的存储区域 C程序中的数据可能存放的位置是内存和CPU,绝大多数的数据存放在计算机的内存 中,少数可能存放在CPU中。 存放在内存中的数据,将位于用户内存的数据区(DATA) 内。 数据区被划分为两个部分:静态数据区和动态数据区。 存放在动态数据区和CPU中的数据称为动态数据,存放在静态数据区的数据称为静态 数据。 内存 CPU 存放 存放 动态数据区 动态数据 数据区 R0 R1 R2 动态数据 存放 DATA 静态数据区 静态数据 ※ 存储类型的种类 C语言的存储类型分为以下四种: 自动变量(auto variable, local variable ,或称为局部变量) 外部变量(external variable, global variable,或称为全局变量) 静态变量,包括内部静态变量(internal static variable)和外部静态变量(external static variable) 寄存器变量(register variable) 自动变量和寄存器变量属于动态数据,通常存放在内存的动态数据区中。而寄存器变量 也可能存放在CPU中。 外部变量、内部静态变量和外部静态变量属于静态数据,存放在内存的静态数据区中。 内 动态 CPU 寄存器变量 存 数据区 自动变量 R0R0 R1R1 R2R2 外部变量 数据区 静态 DATA 内部静态变量 数据区 外部静态变量 ※ 数据的生存期和作用域 根据变量的定义方式,不仅可以确定它的存储类型,还将确定其生存期和作用域。 静态数据在程序编译时就获得了存储空间,在整个程序执行的全过程中是长期存在的, 或者说静态数据的生存期(或称存储期)与程序的执行期相同。 动态数据只有在该数据所在的程序段开始执行时,才会获得存储空间。当这段程序结束 时,这些数据就将失去存储空间。它们的生存期与总是比程序的执行期短,或者说它们是短 期存在的。 动态数据 静态数据 动态数据区 静态数据区 短期存在 长期存在 12 - 1

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档