- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机构造型数据结构
第4章 构造型数据类型 一维数组 二维数组 * * 一维数组的定义 一维数组的定义形式: 类型名 数组名 [常量表达式] 『说明』 类型名:数组元素的类型,它们可以是基本类型,如int 、float等,也可以是构造类型 数组名:数组的名称,命名规则与变量的名称一样。 常量表达式:用方括号括起,表示数组元素的个数,即数组的长度,它是一个正整数。其中可以包含常数和符号常量,但不能包含变量。 (1)数组名后面必须是方括号。 例如:int a(100);是错误的。 (2)“[]”中的常量表达式中不能包含变量,即使是变量已被赋值。 如下面的用法是错误的: int m; m=10; int a[m]; (3),可同时说明类型相同的多个数组和多个变量。 例如: int a,b, k1[10],k2[20]; (4)常量表达式的值表示数组元素的个数。 例如: int a[10]; /*定义一个名为a的一维数组,数组中有10个数组元素*/ float b[‘A’],c[3*5]; int a1[MAX],b1,c1; /*MAX为一符号常量*/ 一维数组的定义 (5)一维数组在内存中顺序存放,占用连续空间 例如,有如下定义:int a[10]; 系统为数组a开辟了10个连续的存储单元,定义了十个变量,这一批变量的名字分别为a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。 数组名代表的是整个存储单元的首地址,可以说a与数组元素a[0]的地址值相同。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] (6)C语言不允许对数组的大小做作动态定义,即数组的大小不依赖程序运行过程中变量的值. 例如: int d; d = 5; int a[d];……是错误的。 一维数组的定义 一维数组元素的表示形式 数组名 [下标] 『说明』 数组必须先定义后使用 不能一次引用整个数组。 只能逐个引用数组元素,每个数组元素具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 数组元素的下标可以是整型常量或整型表达式,其值代表元素相对于数组起始地址的偏移量,所以从0开始顺序编号,取值范围是0~(元素个数-1) 。 以下假设是16位机 一维数组的引用 a[i] a[i] a = 1014 → 1012 → 1010 → 1008 → 1006 → 1004 → 1002 → 1000 → 70 60 50 40 30 20 10 0 int a[8]; a[0] = 0; a[1] = 10; a[2] = 20; a[3] = 30; a[4] = 40; a[5] = 50; a[6] = 60; a[7] = 70 注意:a = a[0] = 1000 一维数组的引用 『程序4.1』程序使a[0]~a[9]的值为0~9,然后按逆序输出。 main( ) { int i, a[10]; for (i=0; i=9; i++) /*对数组元素赋值*/ a[i]=i; for (i=9;i=0;i--) /*逆序逐个输出数组元素*/ printf(“%2d”, a[i]); } 运行结果为: 9 8 7 6 5 4 3 2 1 0 一维数组的引用 静态数组与动态数组: static int a[10]; ——静态数组 int a[10]; ——动态数组 关键字static是“静态存储”,其定义的数组称为静态数组,省略关键字static所定义的数组则是动态数组。 定义静态数组时,如果不赋初值,所有元素初值为0。 定义动态数组时,如果不赋初值,数组元素的值不确定, 如 int a[10] 的每个元素的值可以是-32768~32767之间的一个整数 一维数组的初始化 一维数组初始化的一般形式: static 数据类型 数组名[常量表达式]={初值表} 对所有数组元素赋初值: int a[5]={1,2,3,4,5}; —— a: 1 2 3 4 5 static int b[3]={3,4,5}; —— b: 3 4 5 对部分数组元素赋初值 int a[5]={1,2,4}; —— a: 1 2 4 0 0 static b[3]={0,3}; —— b:
您可能关注的文档
- 计划及主顾开拓A.ppt
- 解读新高层溷凝土建筑结构技术规规初步.PPT
- 计算方法一.ppt
- 计算化学分子轨道法的基本方程.ppt
- 计算卷积的方法初步.ppt
- 计算学科中的科学问题.ppt
- 计算方法一绪论.ppt
- 计算方法公选课.ppt
- 计算方法插值法(均差与牛顿插值公式)初步.ppt
- 计数值收验计划初步.PPT
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)