C程序设计实例教程 金林樵 第5章 数组与字符串新.pptVIP

C程序设计实例教程 金林樵 第5章 数组与字符串新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1 数组概述 数组是内存中的一块连续存储区,这个存储区用来存贮若干具有相同类型的数据。为了访问数组,需要给存储区取一个名字,称为数组名,该数组名同时也用于表示数组类型,因此数组名也必须符合标识符的相关规定。 数组中的每个数据称为数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。由于数组中的数据是连续存储的,为了操作方便,就象门牌号码一样给每个元素编一个号,称为元素的下标。通过数组名及元素的下标可以唯一地确定一个数组元素在数组中的位置。如果数组元素的下标是一维的,则称为一维数组,一维数组可以与数学上的一维矢量对应;如果数组元素的下标是二维的,则称为二维数组,二维数组可以与数学上的矩阵相对应;如果数组元素的下标是多维的,就称为多维数组,多维数组可以想象成几何中的超立方体,超立方体的每个顶点就是一个数组元素。 5.2 一维数组 5.2.1 一维数组的定义 定义一维数组的语法形式为: 类型标识符 数组名 [ 整型常量表达式 ]; 其中: 1)数据类型可以是任意一种基本数据类型或构造数据类型。 2)数组名是用户定义的数组标识符,用于表示数组的首地址。 3)整型常量表达式表示数组元素的个数,也称为数组的长度,其值必须大于0。 4)方括号[ ]表示一个数组维度。一个[ ]表示一维数组,两个[ ]表示二维数组,依此类推。 例如: int a[5]; 说明数组a是整型数组,有5个元素。 float b[10]; 说明数组b是单精度浮点型数组,有10个元素。 char c [20]; 说明数组c是字符数组,有20个元素。 在定义数组时要注意以下几点: 1)数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 2)数组名的命名规则必须符合标识符的命名规则,且不能与其它变量名相同。 3)方括号中的表达式用于表示数组元素的个数。C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值,因此不能使用变量,必须为符号常量或整型常量。 例如以下数组定义是正确的: #define Len 5 // 定义一个符号常量Len int a[1+5]; // 定义整型数组a,其包含6个元素 int b[Len]; // 定义字符数组b,其包含5个元素 而以下数组定义是错误的: int n = 5; int c[n]; // 定义数组c时使用了变量n 4)存储数组元素所需的存储单元个数是由数组元素的个数和数据类型的字节数共同决定的。 例如: int a[5]; 表示具有5个元素的整型数组。因为在VS C++.NET中,整型数据需要4个字节的存储单元区,所以存储数组a的所有元素共需要5 * 4 = 20个存储单元(即20个字节),其数组元素的存储空间示意图如图5-1所示。 图中,1000H至1003H四个字节用于存储第一个整型元素a[0],1004H至1007H四个字节用于存储第二个整型元素a[1],依此类推,1016H至1019H用于存储最后第五个元素a[4]。系统在访问任一个数组元素时会根据该元素在数组中的序号以及数据类型,自动定位到相应的存储单元。一般以如图5-2的形式来表示一维数组的存储。 有时在定义数组的时候,希望直接对数组元素进行赋值,此时称为数组的初始化。数组初始化是在编译阶段进行的,这样将减少运行时间,提高效率。 数组初始化的一般形式为: 类型标识符 数组名[ 整型常量表达式 ] = {值1,值2,… ,值n}; 其中在{ }中的各数据值即为数组各元素的对应初值,各值之间用逗号间隔。例如: int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 相当于a[0] = 0,a[1] = 1,... ,a[9] = 9; 对数组的初始化有如下几种形式: 1)在定义数组时,对所有元素进行赋值,此时数组长度(即[]中的表达式)可以不指定。 例如,一般情况下为: int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 但也可以写成: int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 如果需要对10个长度的整型数组a中的元素都赋值为0,则有两种方式: int a[10] = { 0 }; 或者 int a[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 2)只对部分元素进行赋值。此时,是从第一个元素开始依次赋值,未赋值的元素其值为零; 例如: int a[10] = {1, 2, 3, 4, 5 }; 表示只对起始的五个元素赋值,后五个元素取默认

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档