3.4 多维数组

    如果一个一维数组中的每个元素都是同类型同大小的一维数组,情况会是什么样子呢?图3.1表示了一个(M+1)×(N+1)的二维数组,二维数组实质上是对一维数组的扩展,其中的每个元素要用两个下标来表示,前一个称为行下标,后一个称为列下标。

    依次类推,如果二维数组的每个元素都是同类型同大小的一维数组时,可以表示成三维数组的形式,用3个下标来表示其中的元素。维数可以逐渐增加,对n维数组来说,需要用n个下标来表示其中的元素。

    3.4 多维数组 - 图1

    图 3.1 二维数组示意图

    3.4.1 声明一个多维数组

    和一维数组一样,声明的主要作用就是提供给编译器足够多的信息,以便编译器在内存中开辟一块连续的,满足大小要求的内存区域,并将数组名和这块区域关联起来,这些信息包括:数组名、元素类型、数组的维数和数组的大小。多维数组的大小是各维大小之积。

    一个二维数组可以用下列语句来声明。


    int sz[2][3];这声明了一个2×3的二维数组,有2行3列共计6个元素,对多维数组来说,元素的编号仍旧是从0开始的,所以,对上面这个二维数组来说,这6个元素分别如下所示。 sz[0][0]、sz[0][1]、sz[0][2]、sz[1][0]、sz[1][1]和sz[1][2]