4.1.1 一维数组的定义
数组本身是一种构造数据类型。主要是将相同类型的变量集合起来,用一个名称来代表。存取数组数据值时,则以数组的索引值(index)指示所要存取的数据。
数组的使用和其他的变量一样,使用前一定要先定义,以便编译程序能分配内存空间供程序使用。
一维数组定义的格式如下:
类型说明符 数组名[常量表达式]
这里类型说明符定义数组的基类型,即数组中各元素的类型,常用的数据类型有整型、实型和字符型。
常量表达式定义数组中可以放多少元素,它必须是一个整型常量。
比如,例4-1中有如下定义:
int score[10];
即为定义一个长度为10的数组score,它的每个数据元素都是整型。换句话说,它定义了一个由10个对象组成的集合,这10个对象存储在相邻的连续的内存区域中,名字分别是score[0],score[1],…,score[9]。
图4.1.2 score数组的内存分配
图4.1.2是定义score数组后,编泽器为score数组分配的内存空间的图示说明。需要注意的是:与其他语言不同,C语言中数组的第一个元素的索引值一定是0,而不是1或其他值。
图4.1.2中假设add代表数组第一个元素在内存中的位置,由于数组元素均是int型,因此,在VC++环境下,每个数组元素都占用4字节,数组score共占用40字节的内存空间。
在定义一维数组时应注意:
1.数组名的第一个字符应为英文字母,其他要求与定义变量名时相同。
2.用方括号将常量表达式括起。
3.常量表达式定义了数组元素的个数。
4.数组下标从0开始。如果定义了10个元素,是从第0个元素到第9个元素。
5.常量表达式中不允许包含变量。
例如:
int n=10;
int score[n];
就是错误的数组定义。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。