首页 理论教育 一维数组的定义和存储方式

一维数组的定义和存储方式

时间:2023-11-17 理论教育 版权反馈
【摘要】:③方括号中常量表达式表示数组元素的个数,但是其下标从0 开始计算。④一维数组元素的存储:C 编译程序为每个数组在内存中开辟一片连续的存储空间,各数组元素按下标从小到大连续排列,每个元素占用相同字节数。数组元素也是一种变量,其表示方法为数组名后跟一个下标。在引用数组元素时应注意以下几点。

一维数组的定义和存储方式

1.一维数组的定义

一维数组通常是指只有一个下标的数组元素所组成的数组。定义形式如下。

类型说明符 数组名[常量表达式];

其中,类型说明符是任意一种基本数据类型或构造数据类型,用以指明数组的数据型,即数组中每个元素的数据类型;数组名是用户定义的数组标识符;方括号中的常量表达式表示数据元素的个数,可以包括常量和符号常量,但不能是变量,即C 语言不允许对数组的大小动态定义。

例如:

int a[10];说明整型数组a,有10 个元素。

float b[10],c[20];说明实型数组b 和c,b 有10 个元素,c 有20 个元素。

对于数组类型说明应注意以下几点。

①对于同一个数组,其所有元素的数据类型都是相同的。

②数组名不能与其他变量名相同。

③方括号中常量表达式表示数组元素的个数,但是其下标从0 开始计算。因此,a[5]的5个元素分别为a[0]、a[1]、a[2]、a[3]、a[4]。

④一维数组元素的存储:C 编译程序为每个数组在内存中开辟一片连续的存储空间,各数组元素按下标从小到大连续排列,每个元素占用相同字节数。

⑤数组名是常量,代表数组所占存储空间的起始地址

2.一维数组的引用

数组元素是组成数组的基本单元。数组元素也是一种变量,其表示方法为数组名后跟一个下标。下标表示元素在数组中的顺序号。数组元素引用的一般形式为:

数组名[下标]

其中,下标只能为整型常量、整型变量或整型表达式,若为小数时,C 编译将自动取整。

例如:a[5]、a[i++]、a[i+j]都是合法的数组元素。(www.xing528.com)

在引用数组元素时应注意以下几点。

①定义数组时用到的“数组名[常量表达式]”和引用数组元素时用到的“数组名[下标]”是有区别的。前者表示数组的长度,后者表示引用数组中第几个元素。

②数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量,在C 语言中只能逐个使用下标变量,而不能一次引用整个数组。

3.一维数组的初始化

给数组赋值的方法除了用赋值语句对数组元素逐个赋值,还可采用初始化赋值和动态赋值。数组初始化是在编译阶段进行的,一般形式为:

类型说明符 数组名[常量表达式]={值,值……值};

其中,在{}中各数据即为各元素的初值,各值之间用逗号间隔。

例如:

int a[10]={0,1,2,3,4,5,6,7,8,9};

相当于a[0]=0;a[1]=1…a[9]=9;

C 语言对数组的初始化赋值还有以下几个特点。

①当{ }中值的个数小于元素个数时,只给前面部分元素赋值,其余元素系统自动赋默认初值0 值。

例如:int a[10]={0,1,2,3,4};

表示只给a[0]~a[4]5 个元素赋值,而后5 个元素自动由系统赋0 值。

②若给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。因为编译系统在编译源程序过程中,通过对初值表里所包含元素的个数进行检测后自动确定该数组的长度。

③若初值个数大于数组指定的长度,则会出现编译错误

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈