多维数组

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

C语言答应有大于二维的数组,维数的限制(假如有的话)是由具体编译程序决定的。多

维数组的一般说明形式为:

Type-specifier name [a][b][c]...[z];

由于大量占有内存的关系,二维或更多维数组较少使用。如前所述,当数组定义之后,

所有的数组元素都将分配到地址空间。例如,大小为( 1 0,6,9,4)的四维字符数组需要1 0

×6×9×4即2 1 6 0字节。

假如上面的数组是两字节整型的,则需要4 3 2 0字节,若该数组是双字型的(假定每个双

字为8字节)则需要3 4 5 6 0字节,存储量随着维数的增加呈指数增长。

关于多维数组,需要注重一点:计算机要花大量时间计算数组下标,这意味着存取多维

数组中的元素要比存取一维数组的元素花更多的时间。由于这些和其它原因,大量的多维数

组一般采用C语言动态分配函数及指针的方法,每次对数组的一部分动态地分配存储空间。

多维数组传递给函数时,除第一维外,其它各维都必须说明。例如,将数组m定义成:

int m[4][3][6][5];

那么接收m的函数应写成:

func1 (d)

int d[][3][6][5];

当然,假如愿意,也可加上第一维的说明。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航