Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92546625
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-16 21:53:46

 来源:


允许有大于二维的数组,维数的限制(如果有的话)是由具体编译程序决定的。多
维数组的一般说明形式为:
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字节,存储量随着维数的增加呈指数增长。
关于多维数组,需要注意一点:计算机要花大量时间计算数组下标,这意味着存取多维
数组中的元素要比存取一维数组的元素花更多的时间。由于这些和其它原因,大量的多维数
组一般采用动态分配函数及指针的方法,每次对数组的一部分动态地分配存储空间。
多维数组传递给函数时,除第一维外,其它各维都必须说明。例如,将数组m定义成:
int m[4][3][6][5];
那么接收m的函数应写成:
func1 (d)
int d[][3][6][5];
当然,如果愿意,也可加上第一维的说明。

阅读(216) | 评论(0) | 转发(0) |
0

上一篇:数组的初始化

下一篇:二维数组

给主人留下些什么吧!~~