5.4.1 二维数组的定义
前面说过,在定义数组的时候,需要使用中括号,我们将这个中括号称为“维”,之前定义数组的时候,都只有一个中括号,所以定义出来的都是一维数组。如果定义数组的时候使用两个中括号,定义出来的就是二维数组。
定义二维数组的格式如下:
数据类型 数组名[整型常量表达式 1][整型常量表达式 2];
二维数组有两个维,第一个中括号称为第一维,而整型常量表达式 1 的值就是第一维的大小;第二个中括号是第二维,整型常量表达式 2 的值就是第二维的大小。我们可以将第一维的大小看成表格中的行数,而将第二维的大小看成表格中的列数。因此,通过二维数组就可以把数据以及数据间的关系都保存进来,便于对数据进行管理。下面定义一个 3 行 4 列的二维数组 score:
float score[3][4];
因为成绩里有小数存在,因此数据类型选用 float,表示二维数组中的所有元素均为 float 类型。数组名为 score,其中第一维的大小为 3,第二维的大小为 4,数组元素的个数为 3 与 4 的乘积,即 12 个。
二维数组的大小,即为元素的个数与元素大小的乘积,我们可以通过 sizeof 运算符来获得二维数组的大小,例如:
printf("Size of the score: %u Bytes.\n", sizeof score);
使用 sizeof 运算符来获取二维数组 score 的大小,并通过 printf 函数打印到控制台窗口,运行结果如下:
Size of the score: 48 Bytes.
二维数组 score 共 12 个元素,每个元素都是 float 类型,即元素大小为 4 字节,因此,数组的大小为 48 字节(12×4)。
虽然我们将二维数组看成是一个有行有列的表格,但实际上,二维数组中的元素和一维数组一样,在内存中仍然是按照顺序连续排列的。即第 2 行的数组元素跟在第 1 行数组元素之后,第 3 行的数组元素跟在第 2 行的数组元素之后,依此类推。因此,二维数组在内存存储上属于线性存储方式,这是它的物理结构。而将二维数组视为有行有列的表格,这是它的逻辑结构,目的是更方便地对二维数组中的元素进行访问和管理。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论