4.2.1 二维数组的定义

更新于 2026年10月10日 版权声明
4.2.1 二维数组的定义

二维数组的格式为:

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

例如,对于

int s[3][4];

其第一个常量表达式表示二维数组元素的行数;第二个常量表达式表示二维数组元素的列数。因此,int s[3][4]表示3行4列的数组,数组中共有3×4=12个元素,每个元素都是整型数值。

注意:定义二维数组时,数组名的命名规则和一维数组是一样的,数组名后面有两个方括号,括号里都是常量表达式,可以是常量、常量表达式、符号常量等。第一个方括号里的常量表达式可以省略,但第二个括号里的常量表达式不可以省略。

例4-6 以下对二维数组s的正确说明是________。

(A)int s[1][3]; (B)int s(3,4);

(C)double s[3][] (D)float s(3)(4);(https://www.daowen.com)

分析:

选项A是正确的。

选项B是错误的,不能用圆括号,更不能把两个常量表达式放在一个括号里。

选项C是错误的,第二个括号里的常量表达式是不能省略的。

选项D是错误的,不能用圆括号。

二维数组是一种特殊的一维数组:它的每个元素是一个一维数组。例如,二维数组s[3][4]是一个一维数组,它有3个元素:s[0]、s[1]、s[2],每个元素又是一个包含4个元素的一维数组。元素s[0]是一个一维数组,包括4个元素,分别是s[0][0],s[0][1],s[0][2],s[0][3]。元素s[1]是一个一维数组,包括4个元素,分别是s[1][0],s[1][1],s[1][2],s[1][3]。元素s[2]是一个一维数组,包括4个元素,分别是s[2][0],s[2][1],s[2][2],s[2][3]。也可以在右下角的地方表示数组的两个下标,例如,数组元素分别为s00,s01,s02,s03,s10,s11,s12,s13,s20,s21,s22,s23。

二维数组一旦定义好,在程序运行时,系统会自动为二维数组分配一定的连续存储空间,这个存储空间可用来存放数组中的各个元素。因此定义二维数组时,数组名后的两个方括号里的常量表达式也必须为常量,不能为变量。二维数组中的元素在内存中的存放顺序是按行存放,即先存放第一行的元素,再存放第二行的元素,因此二维数组s[3][4]的12个元素在内存中的存放顺序如下:

图示

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)