打印本文 打印本文  关闭窗口 关闭窗口  
C语言程序设计(第5章数组)3
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:00:15  文章录入:杜斌  责任编辑:杜斌

5.3 多维数组
    C语言允许有大于二维的数组,维数的限制(如果有的话)是由具体编译程序决定的。多维数组的一般说明形式为:
    Type-specifier name [a][b][c]...[z];
    由于大量占有内存的关系,二维或更多维数组较少使用。如前所述,当数组定义之后,所有的数组元素都将分配到地址空间。例如,大小为( 10,6,9,4)的四维字符数组需要10×6×9×4即2160字节。
    如果上面的数组是两字节整型的,则需要4320字节,若该数组是双字型的(假定每个双字为8字节)则需要34560字节,存储量随着维数的增加呈指数增长。
    关于多维数组,需要注意一点:计算机要花大量时间计算数组下标,这意味着存取多维数组中的元素要比存取一维数组的元素花更多的时间。由于这些和其它原因,大量的多维数组一般采用C语言动态分配函数及指针的方法,每次对数组的一部分动态地分配存储空间。
    多维数组传递给函数时,除第一维外,其它各维都必须说明。例如,将数组m定义成:
    int m[4][3][6][5];
    那么接收m的函数应写成:
    func1 (d)
    int d[][3][6][5];
    当然,如果愿意,也可加上第一维的说明。
打印本文 打印本文  关闭窗口 关闭窗口