(完整版)第6章数组.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章 数组 6.1 怎样定义和引用一维数组 6.1.1 怎样定义一维数组 一般格式: 类型 数组名 [ 常量表达式 ]; 如: int a[10]; 说明: (1)数组名的命名规则遵循 C 语言的标识符; (2 )常量表达式,用来指定该数组中元素的个数,也就是该数组的长度。 该长度必须在这里是一个常量表达式(数字常量、符号常量) ,不能是变量。由 于前面已经指定了类型, 指定了元素个数后, 该数组一共占用的空间大小就确定 了,如:上例, a 是 int 型,每个 int 型在 VC中占 4 字节,而后面又定义了 10 个元素,所以, a 共占用了 4*10=40 个字节的空间; (3 )可以使用 sizeof 运算来求出某个数组占用了多少空间; 特别强调,其中常量表达式不能是变量,如: int n=10; a[0] 1000 int a[n]; // 错误,因为 n 是变量 #define N 10 a[1] 1004 int b[N]; // 正确,因为 N是符号常量 a[2] 1008 int c[N+3]; // 正确的,因为 N+3是常量表 达式 a[3] 对于以下定义: a[4] int a[10]; 那么,系统就会在内存中划出一片存储空间,如 a[5] 1020 右图: a[6] 显然,每个元素在内存中都是连续的,从而可以 根据上一个元素的地址,来计算出下一个元素的地址, a[7] 假设 a 的第 0 个元素存在 1000 地址上,那么, a[5] 的 a[8] 地址: Add(a[0])+5*4=1020 。而对 a[i] 的地址: a[9] 1036 Add(a[i])=Add(a[0]+i*4) (4 )数组定义后,元素的排列是从 a[0] 开始的,因此定义的 int a[10] 中, 只有 a[0]~a[9] ,并不存在 a[10] 这个元素。 (5 )数组定义后,其中的每个元素的值都是不确定的(就是不知道值为多 少,也可以说是随机的) ,如果想要在定义时就有初值,可以有两种方法: 方法一:用 static 来修饰,那么,该数组中的每个元素都会被初始化为 0: static int b[10]; // 数组 b 中的 10 个元素每个值都是 0 int a[10]; // 数组 a 中的 10 个元素值不确定 方法二:在定义时,同时给出值,如: int c[10]={1,2,3}; // 给出了 3 个值 如果所给的值比数组元素少,那么后面的每个元素都会自动初始化成 0,如 上面的 c 数组,后面的 c[3]~c[9]

文档评论(0)

171****9219 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档