- 1、本文档共114页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言chap5 数组
第五章数组;迄今为止所介绍的数据类型(整型、字符型、浮点型)都称为基本类型或原子类型,即它们是不可再分的类型。C语言还允许将多个数据组织在一起,用一个名字在程序中使用这类数。这些类型是基本类型或者组合类型的组合,主要有数组类型、结构体类型、共用体类型等。本章介绍数组类型的基本概念和使用方法。
数组是指一组同类型数据组成的序列。它的特点有如下3点:
· 组织了一组同类型数据,并为之提供一个名字;
· 这组数据被存储在内存的一个连续的区域中;
· 这组数据具有顺序关系,组成它的每个元素可以通过序号访问。
;5.1 一维数组;而使用简单变量时,就要使用下面的程序结构:;2. 一维数组的定义 ;(2)student_age是这个int型一维数组的名字。数组名应当遵循C语言关于用户关键字的规则。
(3)“30”是该数组中元素的个数(数组的大小)。C89规定数组的大小在编译时应当是确定的,即在定义数组的声明语句中必须使用常量表达式来指定数组大小,并且在程序运行时就不能再改变,即不能重定义。而C99允许使用变长的局部数组,即允许使用非常量表达式指定数组大小,并且可以可以被多次声明,每次声明定义的数组大小可以各不相同。如在C99中下面的写法是正确的,而在C99之前,是不合法的。
int x=8,y=3;
int a[x+y];
┇
int a[x-y];
读者在使用时,应当注意所使用的编译系统是按什么标准实现的,否则会出现错误。;(4)下标的序号从0开始(而不是从1开始)。student_age数组中10个元素分别是:student_age[0], student_age[1],student_age[2], student_age[3], student_age[4], student_age[5], student_age[6], student_age[7], student_age[8], student_age[9]。
注意没有student_age[10]元素。;5.1.2 数组元素的引用方法
一个数组一旦被定义,编译器将会为之开辟一个存储空间,以便将数组元素顺序地存储在这个空间中。每一个数组元素占用一个int类型的存储空间。图5.1为上一小节定义的一维int型数组的各元素在内存中的存储情形。;数组一经被定义,其元素就可以被引用。引用一维数组的元素必须用一个下标,其形式为:;(3)数组元素(下标变量)具有普??变量的特征,可以作为左
值表达式使用。
数组元素常常使用在循环结构中。
例5.1 用一个数组存储10个学生的年龄,然后分别按正序和
反序显示它们。;/****** 文件名:ex050101.c ******/
/****** 用数组存储年龄 ******/
#include stdio.h
#define Nelements 10
int main(void)
{
int i;
int student_age[Nelements]; /* 定义数组 */
for(i=0;iNelements;i++) /* 输入数据 */
{
printf(Please input a student age:);
scanf(%d,student_age[i]);
}
for(i=0;iNelements;i++) /* 正序输出 */
printf(%6d, student_age[i]);
printf(\n);
for(i=Nelements;i=0;i--) /* 反序输出 */
printf(%6d, student_age[i]);
printf(\n);
return 0;
};一次运行结果如下:;可以发现,上面的输出结果中,反序输出的数据中多了一个“10”。检查程序,发现是使用了下标“Nelements”,而正确的下标应当不超过Nelements-1。所以,只要把反序输出的重复结构改为下面的形式就可以了。;5.1.3 一维数组的初始化
数组也有特定的存储属性,即可以是全局的也可以是局部的,可以是静态的也可以是动态的。如果一个自动存储类型的数组,没有初始化,也没有对它的任何元素赋值,那么每个元素的值都是无法
您可能关注的文档
最近下载
- 必威体育精装版ISO50001:2018能源管理体系一整套文件(手册+程序文件+表单).pdf VIP
- 腹腔镜下阑尾切除术配合.ppt
- GB50341-2014 立式圆筒形钢制焊接油罐设计规范.docx
- 守护长江生态环境—长江“十年禁渔”之我在行动调研报告.docx
- 语文课件 往事依依.ppt
- 中华民族现代文明有哪些鲜明特质建设中华民族现代文明的路径是什么.pdf VIP
- 小学数学北师大版六年级上册《这月我当家》教学设计.docx
- DB11!~637-2015房屋结构综合安全性鉴定标准.pdf
- 学校减负调研报告.docx VIP
- 《GB/T 18385-2024纯电动汽车 动力性能 试验方法》.pdf
文档评论(0)