C语言程序设计(第5章数组)2

文章作者 100test 发表时间 2007:03:10 17:19:43
来源 100Test.Com百考试题网


5.2 二维数组
5.2.1 二维数组的一般形式
C语言允许使用多维数组,最简单的多维数组是二维数组。实际上,二维数组是以一维数组为元素构成的数组,要将d说明成大小为(10,20)的二维整型数组,可以写成:
int d[10][20]
请留心上面的说明语句, C不像其它大多数计算机语言那样使用逗号区分下标,而是用方括号将各维下标括起,并且,数组的二维下标均从0计算。
与此相似,要存取数组d中下标为( 3,5)的元素可以写成:
d[ 3 ][ 5 ]

在例5 - 3中,整数1到12被装入一个二维数组。
[例5 - 3 ]
main ( )
{
int t,i,num[3][4]
for (t=0. t<3. t)
for (i=0.i<4. i)
num[t][i] = (t * 4) i 1.
}
在此例中, num[0][0]的值为1,num[0][2]的值为3, . . . . . .,num[2][3]的值为1 2。可以将该数组想象为如下表格:

0123
01234
15678
29101112


二维数组以行—列矩阵的形式存储。第一个下标代表行,第二个下标代表列,这意味着按照在内存中的实际存储顺序访问数组元素时,右边的下标比左边的下标的变化快一些。图5 - 2是一个二维数组在内存中的情形,实际上,第一下标可以认为是行的指针。
记住,一旦数组被证明,所有的数组元素都将分配相应的存储空间。对于二维数组可用下列公式计算所需的内存字节数:
行数×列数×类型字节数=总字节数
因而,假定为双字节整型,大小为( 10,5)的整型数组将需要:10×5×2=100 字节,当二维数组用作函数的参数时,实际上传递的是第一个元素(如[ 0 ] [ 0 ])的指针。不过该函数至少得定义第二维的长度,这是因为C编译程序若要使得对数组的检索正确无误,就需要知道每一行的长度。例如,将要接收大小为( 10,10)的二维数组的函数,可以说明如下:
func1(x)
int x[ ][10]
{
.
. .
}



相关文章


C语言程序设计(第5章数组)3
北京:2005年全国计算机等级考试5月24日起可查询成绩
等考上机考试编程如何避免范围性错误
C语言程序设计(第5章数组)2
上海:2005年上半年计算机等级考5月27日起可查分
全国计算机等级考试二级C语言程序设计
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛