- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
裘宗燕 从问题到程序(2003 年修订),第六章,数组
第六章 数据对象的顺序组合:数组
程序的工作都与数据有关,如输入数据、输出数据、存储数据、对数据进行各种计算和
修改等。客观世界中需要处理的数据千姿百态,为能处理所关注事物的有关特征和性质,就
需要在程序里表示它们。为此,程序语言需要提供一套手段,使人能在写程序时方便地处理
与数据表示有关的各种问题,这就是语言的数据机制。
需要由程序处理的数据可能很简单,也可能很复杂,数据之间可能有丰富多采的各种关
系。为了反映这些情况,语言的数据机制必须足够丰富。这里也有简洁性与方便性的问题,
有关数据机制不能无限制地庞大,使语言过分臃肿,难以使用;也不应过于低级,以至要描
述一点东西都非常烦琐。后一情况正是机器语言和汇编语言的一个弱点。
经过几十年的研究和实践,高级语言领域在这方面已经形成了一套公认的有效方式,数
据机制基本框架通常包括下面几个互相联系的方面:
1. 把语言要处理的数据对象划分为一些类型,每个类型是一个数据值的集合。例如 C 语
言里的 int 类型就是该类型能表示的所有整数值的集合。
2. 提供一组基本数据类型,确定其书写方式 (文字量),提供一组基本操作 (运算),支持
基本数据对象的表示和使用。例如 C 语言的 int、double 等。
3. 提供一组由简单数据类型或数据对象构造更复杂数据类型或数据对象的手段。反复使用
这些手段可以构造出任意复杂的数据结构,以满足复杂数据处理的需要。这里提到的数
据结构是计算机科学中的一个重要概念,也是一门后续计算机课程的名称。
C 语言采用了通行的数据机制。它提供了一组基本数据类型,其数据构造机制是下面几
章的基本内容,包括本章将要介绍的数组,后面章节要介绍的指针、结构、联合等。利用它
们可以把多个 (基本或非基本的)数据对象组合起来,作为整体在程序里使用。这样组合而
成的数据对象称作复合数据对象,由所有 “同类”复合对象形成的类型称为复合数据类型。
一个复合数据对象的组成部分称为它的成分、成员或元素。
程序中可以建立存放复合类型数据的变量,这使复合数据对象也能命名。这种变量可以
作为整体使用,通过变量名访问;还提供了访问复合数据对象里成分的操作,使用这些成分
的值或者给它们赋值。C 语言提供了所有这些机制。
最常见的数据组合机制是数组和结构 (structure ,或称记录,record ),另一种用于数据
组织的重要机制是指针。本章将介绍 C 语言的数组机制,其意义、描述方式和使用。后面
章节里介绍其他数据机制的情况及其在程序设计中的应用。
6.1 数组的概念、定义和使用
数组(array )是 C 语言中用于组合同类型数据对象的机制。一个数组里汇集一批对象
(数组元素)。程序中既能从数组出发处理其中的个别元素,也能以统一方式处理数组的一
批元素或所有元素。后一处理方式特别重要,是由一批成员构成的数组和一批独立命名的变
量间的主要区别。
数组机制要解决三个问题:1)描述数组的性质,定义数组变量;2 )使用数组,包括通
过数组变量使用元素;3 )实现数组,即在内存里为数组安排一种存储方式,使程序里可以
方便地操作它们。当然,最后一个问题主要与语言的实现有关系,在实现 C 语言系统时,
必须确定如何实现数组变量。了解这方面情况也有利于在编程时正确使用数组。
1
裘宗燕 从问题到程序(2003 年修订),第六章,数组
6.1.1 数组变量定义
根据数组的性质,在定义数组变量(下面简单说成 “定义数组”)需要说明两个问题:
1)该数组 (变量)的元素是什么类型的;2 )这个数组里包含多少个元素。C 语言规定,每
个数组变量的大小是固定的,需要在定义时说明。
数组定义的形式与简单变量类似,但需要增加有关元素个数的信息。在被定义变量名之
后写一对方括号就是一个数组定义,指定元素个数的方式是在括号里写一个整型表达式。人
们常把数组元素类型看作数组的类型,把元素类型为整型的数组说成是整型数组,类似地说
双精度数组等。本书下面也采用这种说法。
您可能关注的文档
- 宁波水表股份有限公司2018年度关联交易预计公告.PDF
- 平教学中环境教育.PDF
- 2016年里约奥运会跆拳道男子58kg冠军赵帅技战术特征.PDF
- 清季藏书四大家考二〉.PDF
- 2017年第1期总第2期).PDF
- 区域尺度水资源短缺风险评估和决策体系.PDF
- 2018年本科生专业选择部院、系)工作方案.PDF
- 三网融合科学道理83.ppt
- 色表示创业板较适合专业和其他老练投资者。.PDF
- C.2工程设计招标综合评估法评分标准风景园林工程).PDF
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
原创力文档


文档评论(0)