C语⾔的数据类型(2)——数组
⽂章⽬录
1 前⾔
构造数据类型是根据已定义的⼀个或多个数据类型⽤构造的⽅法来定义的。也就是说,⼀个构造类型的值可以分解成若⼲“成员”或“元素”。每个“成员”都是⼀个基本数据类型或⼜是⼀个构造类型。构造类型主要包括数组类型、结构体类型、共⽤体类型。
2 数组
在程序设计中,为了处理⽅便,把具有相同类型的若⼲变量按有序的形式组织起来。这些按序排列的同类
数据元素的集合称为数组。在C语⾔中,数组属于构造数据类型。⼀个数组可以分解为多个数组元素,这些
数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组⼜可分为数值数组、字符数
组、指针数组、结构数组等各种类别。
2.1 ⼀维数组
2.1.1 ⼀维数组的定义
在C语⾔中使⽤数组必须先进⾏定义。
⼀维数组的定义⽅式为:
类型说明符 数组名 [常量表达式];
其中:
类型说明符是任⼀种基本数据类型或构造数据类型。
数组名是⽤户定义的数组标识符。
⽅括号中的常量表达式表⽰数据元素的个数,也称为数组的长度。注意:不能在⽅括号中⽤变量来表⽰元素的个数, 但是可以是符号常数或常量表达式。
2.1.2 ⼀维数组的引⽤
数组元素是组成数组的基本单元。数组元素也是⼀种变量, 其标识⽅法为数组名后跟⼀个下标。下标表
⽰了元素在数组中的顺序号。
数组元素的⼀般形式为:
数组名[下标]
其中下标只能为整型常量或整型表达式。
2.1.2 ⼀维数组的初始化
初始化赋值的⼀般形式为:
类型说明符 数组名[常量表达式]={值,值……值};
其中在{ }中的各数据值即为各元素的初值,各值之间⽤逗号间隔。注意:可以只给部分元素赋初值,当{ }中值的个数少于元素个数时,只给前⾯部分元素赋值。如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。
2.2 ⼆维数组
⼆维数组定义的⼀般形式是:
类型说明符 数组名[常量表达式 1][常量表达式 2]
2.2.1 ⼆维数组的引⽤
⼆维数组的元素也称为双下标变量,其表⽰的形式为:
数组名[下标][下标]
其中下标应为整型常量或整型表达式。
2.2.2 ⼆维数组的初始化
⼆维数组可按⾏分段赋值,也可按⾏连续赋值。
1. 按⾏分段赋值可写为:
int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };
2. 按⾏连续赋值可写为:
int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};
这两种赋初值的结果是完全相同的。
对于⼆维数组初始化赋值还有以下说明:
1)可以只对部分元素赋初值,未赋初值的元素⾃动取 0 值;
2)如对全部元素赋初值,则第⼀维的长度可以不给出;
3)数组是⼀种构造类型的数据。⼆维数组可以看作是由⼀维数组的嵌套⽽构成的。设⼀维数组的每个元素都⼜是⼀个数组,就组成了⼆维数组。当然,前提是各元素类型必须相同。根据这样的分析,⼀个⼆维数组也可以分解为多个⼀维数组。C语⾔允许这种分解。如⼆维数组a[3][4],可分解为三个⼀维数组,其数组名分别为:a[0] a[1] a[2],对这三个⼀维数组不需另作说明即可使⽤。这三个⼀维数组都有 4
个元素,例如:⼀维数组 a[0]的
元素为 a[0][0],a[0][1],a[0][2],a[0][3]。
2.2.2 关于⼆维数组名的使⽤
从⼆维数组a[3][4]的⾓度来看:
1) a 是⼆维数组名, a 代表整个⼆维数组的⾸地址,也是⼆维数组 0 ⾏的⾸地址。 a+1 代表第⼀⾏的⾸地址。
2)C语⾔允许把⼀个⼆维数组分解为多个⼀维数组来处理。因此数组 a 可分解为三个⼀维数组,即 a[0], a[1], a[2]。每⼀个⼀维数组⼜含有四个元素。⽐如a[0]是第⼀个⼀维数组的数组名和⾸地址。
2.3 字符数组
⽤来存放字符量的数组称为字符数组。
2.3.1 字符数组的定义
如:char c[10];
2.3.2 字符数组的初始化
c语言二维数组表示方法char c[10]={‘c’, ‘ ’, ‘p’, ‘r’, ‘o’, ‘g’, ‘r’, ‘a’,’m’};
2.3.3 字符数组的引⽤
同前⾯的⼀维和⼆维数组的引⽤⽅式。
2.3.4 字符串和字符串结束标志
在C语⾔中没有专门的字符串变量,通常⽤⼀个字符数组来存放⼀个字符串。字符串总是以’\0’作为串的结束符。因此当把⼀个字符串存⼊⼀个数组时,也把结束符’\0’存⼊数组,并以此作为该字符串是否结束的标志。
3 数组名作函数参数
数组名可以作函数的实参和形参。
4 ⼩结
1)数组是程序设计中最常⽤的数据结构。数组可分为数值数组(整数组,实数组),字符数组以及指针数组,结构数组等。
2.数组可以是⼀维的,⼆维的或多维的。
3.数组类型说明由类型说明符、数组名、数组长度(数组元素个数)三部分组成。数组元素⼜称为下标变量。 数组的类型是指下标变量取值的类型。
4.对数组的赋值可以⽤数组初始化赋值,输⼊函数动态赋值和赋值语句赋值三种⽅法实现。 对数值数组不能⽤赋值语句整体赋值、输⼊或输出,⽽必须⽤循环语句逐个对数组元素进⾏操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论