- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 佳能70D中文使用说明书.pptx VIP
- 适用于高保真声效合成的共鸣腔几何建模与算法驱动优化设计方法研究.pdf VIP
- 六年级英语上册人教PEP版单词字帖.pdf VIP
- 2025年AWS认证EKS安全组策略配置与最佳实践专题试卷及解析.pdf VIP
- 2025年项目管理专业决策树分析PgMP认证考试专题试卷及解析.pdf VIP
- 《中国艰难梭菌感染诊治及预防指南(2024)》解读PPT课件.pptx VIP
- 车辆故障六案例培训.ppt VIP
- 2024-2025学年湖南省长沙市雅礼教育集团高二(上)期中考试物理试卷(含答案).docx VIP
- 2025年特许金融分析师估值模型中的终值计算敏感性专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照飞行器飞行前检查中的安全检查流程专题试卷及解析.pdf VIP
原创力文档


文档评论(0)