一、定义
定义一个数组,需要明确数组变量名,数组元素的类型和数组的大小(即数组中元素的数量)。
一维数组定义的一般形式为:
类型名 数组名[数组长度]
类型名指定数组中每个元素的类型;数组名是数组变量(以下简称数组)的名称,是一个合法的标识符;数组长度是一个整型常量表达式,设定数组的大小。数组长度是一个常量。
例如:
int a[10]; //定义一个有10个整形元素的数组a
char c[200]; //定义一个有200个字符型元素的数组c
float f[5]; //定义一个有5单精度浮点型元素的数组f
- 数组是一些具有相同类型的数据的集合,数组中的数据按照一定的顺序排列存放。同一数组中的每个元素都具有相同的数据类型,有统一的标识符即数组名,用不同的序号即下标来区分数组中的各元素。
- 在定义数组之后,系统根据数组中元素的类型及个数在内存中分配了一段连续的存储单元用于存放数组中的各个元素,并对这些单元进行连续编号,即下标,以区分不同的单元。每个单元所需的字节数由定义时给的类型来确定。
- 数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。由于数组空间一经分配之后在运行过程中不会改变,因此数组名是一个地址常量,存放数组内存空间的首地址,不允许修改。
假设int类型占用2个字节,前面定义的数组a的起始地址是4010,则其内存分配如图所示,每一个元素需2个字节,共20个字节。由下表可看出,只要知道了数组首元素的地址以及每个元素所需的字节数,其余各个元素的存储地址均可计算得出。
内存地址 | 值 | 下标 |
4028 | 9 | |
4026 | 8 | |
4024 | 7 | |
4022 | 6 | |
4020 | 5 | |
4018 | 4 | |
4016 | 3 | |
4014 | 2 | |
4012 | 1 | |
4010 | 0 |
二、引用