在定义数组时,可以同时对数组进行初始化,数组的初始化,就是对数组中的元素进行赋值。
1 数组初始化的一般方法
1.1 相关代码
使用如下所示方法对数组进行初始化。
数据类型 数组名[长度] = {元素1, 元素2 ,…, 元素n};
其中,等号左边的格式与定义数组的格式相同;等号右边是尖括号包围的数据,每个数据的类型要与等号左侧中的“数据类型”相匹配,数据之间用逗号分隔。
使用一般方法初始化数组的代码如图1所示。
图1 使用一般方法初始化数组的代码
以上代码定义了一个包含5个整型元素的数组a,其元素的值分别是1,2,3,4,5。
1.2 注意事项
在使用一般方法对数组进行初始化时,指定的元素值的个数要与数组的长度对应,不能超过数组的长度,如图2所示。
图2 指定的元素值的个数超过了数组的长度
其中,数组a的长度是5,而在初始化时指定了6个元素值,此时程序会报错。
2 数组初始化的扩展方法
2.1 省略数组长度的初始化
在“1 数组初始化的一般方法”中提到,初始化数组时,指定的元素值的个数要与数组的长度对应。也可以通过扩展方法,在初始化数组时,不用指定元素个数,其格式如下所示。
数据类型 数组名[] = {元素1, 元素2 ,…, 元素n};
此时,数组中元素的个数通过等号右边元素值的个数确定,代码如图3所示。
图2 省略数组长度初始化数组的代码
其中,在初始化数组a时并没有指定其长度,根据元素值的个数可以确定数组a的长度是6。
2.2 自动补零的初始化
在“1 数组初始化的一般方法”中提到,指定的元素值的个数要与数组的长度对应,不能超过数组的长度,但是如果指定的元素值的个数少于数组的长度时,数组中的元素值则会自动补零,代码如图3所示。
图3 自动补零的初始化数组的代码
其中,代码指定的3个元素值,则数组的长度是6,此时数组前三个元素的值分别是1,2,3,而后面3个元素值都是0。
2.3 元素值全部为零的初始化
可以使用空的尖括号将数组中所有的元素值初始化为零,代码如图4所示。
图4 元素值全部为零的初始化的代码
其中,数组a中6个元素值都为0。
3 真题解析
3.1 2023年9月选择题
本题答案是“B”,其中在上文中提到,在定义数组时,要么指定数组长度,要么指定数组元素值,但是选项A中两项都没有指定,因此A不正确;而数组的长度必须是整型,所以选项C不正确;选项D初始化数组的格式不正确。选项B中虽然没有指定数组长度,但是指定了数组元素值,因此,数组b的长度是3,虽然三个元素值的类型不同,但是整型和字符型的数据都可以隐式地转换成double类型。
3.2 2023年9月判断题
本题答案是“错误”。在“2.1 省略数组长度的初始化”中提到,定义数组时,可以省略数组长度,也就是可以省略元素个数。