1 / 22
文档名称:

C语言课件08-Array.ppt

格式:ppt   大小:2,473KB   页数:22页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言课件08-Array.ppt

上传人:相惜 2024/3/22 文件大小:2.42 MB

下载得到文件列表

C语言课件08-Array.ppt

相关文档

文档介绍

文档介绍:该【C语言课件08-Array 】是由【相惜】上传分享,文档一共【22】页,该文档可以免费在线阅读,需要了解更多关于【C语言课件08-Array 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。、。所谓的构造类型是由根本数据类型按一定规那么组成的,也称“导出类型〞。数组由一系列元素构成,这些元素均属同一数据类型。数组是有序数据的集合,在内存中是连续存放的,数组元素之间的序由其在内存中的前后关系来表现。可以用一个统一的数组名和下标来唯一地定位数组中的元素。其中,数组名代表了数组在内存中的首地址。返回……L……D01234in下标为i的元素(第i+1个元素)的首地址Di=D+i?L根据数组的组成规那么,可分为一维数组、二维数组和多维数组。C语言中把字符串定义为字符数组,即数组元素为字符型的数组。.一维数组〔1〕:定义定义形式:类型数组名[常量表达式];说明数组名是标识符,符合标识符命名规那么和作用域规那么。常量表达式值表示元素个数,即数组长度。常量表达式既不能缺省,其中也不能包含变量。C要求在定义数组的时候明确指定数组长度。例如inta[20];#defineMAXLEN20 intb[MAXLEN];intmaxlen=20; intc[maxlen],d[];.一维数组〔2〕:引用C语言规定只能逐个引用数组元素而不能一次引用整个数组〔如,不能对数组进行整体赋值〕。数组元素引用形式:数组名[下标]数组元素引用中的方括号是一个特殊的运算符号——下标运算符。下标运算符的优先级是最高的,所以 ++a[i] 等价于 ++(a[i])下标运算符的结合性是从左向右结合。下标是整型表达式,表达式中可包含变量。原那么上说,如果数组的长度为n那么下标的范围应该界于0和n-1。但C编译系统没有对下标进行越界检查。数组定义和数组元素引用的形式相似,但意义不同。〔3〕:初始化要点定义数组时可对数组元素赋初值。如:inta[3]={0,1,2};如果数组没有初始化,系统会用默认值对它初始化。即外部数组或静态数组赋0值,自动数组赋随机值。初始化可以只针对数组中的前面一局部元素,未初始化的局部元素将自动被初始化为0。如: inta[10]={0,1,2,3,4};或inta[10]={0};如果对全部数组元素赋初始值时,可以不指定数组长度。例如: inta[5]={0,1,2,3,4}; 等价于 inta[]={0,1,2,3,4};对数组进行初始化时,不允许初始化的元素个数较已定义的数组长度大,如: inta[5]={0,1,2,3,4,5};是错的。、、〔1〕:定义与引用二维数组的定义类型数组名[常量表达式1][常量表达式2];例如:floata[3][4];说明了一个3行4列的数组。C的二维数组事实上是一种特殊的一维数组:每个元素都是一个一维数组的一维数组。C的二维数组在内存中是按行存放。引用:数组名[下标1][下标2]C还允许使用多维数组类型数组名[常量表达式1]…[常量表达式n];其元素在内存中的排列顺序是:第一维的下标变化最慢,最后一维的下标变化最快。例如, inta[2][2][2];那么数组a的元素在内存中的排列为:a[0][0][0]?a[0][0][1]?a[0][1][0]?a[0][1][1]?a[1][0][0]?a[1][0][1]?a[1][1][0]?a[1][1][1].二维数组〔2〕:初始化和应用初始化可以按分行赋初值的方式,也可以按不分行赋初值的方式,分行赋初值程序更清晰。例如:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};等价于 inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};也可只对局部元素赋初值。例子:inta[3][4]={{1},{5},{9}};inta[3][4]={{1},{0,6},{0,0,11}};inta[3][4]={{1},{5,6}};inta[3][4]={{1},{},{9}};inta[3][4]={{1},{0},{9}};如果初始化提供了足够的信息〔如,全部初始化或分行初始化〕,那么定义数组时可以省略第一维的长度。二维数组使用例如〔求最值〕〔距阵的转置〕〔打印杨辉三角〕也可以用一维数组实现。、引用和初始化〔1〕字符数组的定义方法和普通数组的定义方式相同。例如:charc[10];定义了包含10个元素的字符数组。对字符数组也可以采用普通数组的初始化方式。例如:charc[5]={'H','e','l','l','o'};也可以定义和初始化一个二维字符数组。可以使用和与普通数组类似的方式引用字符数组中的元素,得到一个字符。、引用和初始化〔2〕在C语言中,将字符串作为字符数组来处理。有时,有效字符串的长度和字符数组的长度不相同。为测定字符串的实际长度,C规定了一个“字符串结束标志〞,以字符‘\0’代表。例如,如果有一个字符串中第一次出现‘\0’的是其第10个字符〔对应字符数组的第9个元素〕,那么字符串的有效字符为9个。系统对字符串常量自动加了一个‘\0’作为结束符。可以用字符串常量来使字符数组初始化。例如, charc[]={“Hello〞};或charc[]=“Hello〞; 应该注意到,这样初始化,数组c的长度是6,等价于 charc[6]={'H','e','l','l','o','\0'};字符数组并不要求最后一个字符为‘\0’。输入输出可以使用%c逐个字符处理,也可以用%s整体处理。返回.