地市分站
用户名
密  码
您现在的位置是:树人网首页 / 计算机等级考试 / 计算机等级考试 / 文章浏览
C语言-基础教程-二维数组
文章来源:来源网络 发表时间:2008-07-27 点击次数
5.2.1 二维数组的一般形式
  C语言允许使用多维数组,最简单的多维数组是二维数组。实际上,二维数组是以一维数组为元素构成的数组,要将d说明成大小为(1 0,2 0)的二维整型数组,可以写成:
  int d[10][20]
  请留心上面的说明语句, C不像其它大多数计算机语言那样使用逗号区分下标,而是用方
  括号将各维下标括起,并且,数组的二维下标均从0计算。
  与此相似,要存取数组d中下标为( 3,5)的元素可以写成:
  d [ 3 ] [ 5 ]
  在例5 - 3中,整数1到1 2被装入一个二维数组。
  [例5 - 3 ]
  main ( )
  {
  int t,i,n u m [ 3 ] [ 4 ]
  for (t=0; t<3; t)
  for (i=0;i<4; i)
  n u m [ t ] [ i ] = ( t * 4 ) i 1 ;
  }
  在此例中, n u m [ 0 ] [ 0 ]的值为1,n u m [ 0 ] [ 2 ]的值为3, . . . . . .,n u m [ 2 ] [ 3 ]的值为1 2。可以将该数组想象为如下表格:

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

  第一维的长度也可指明,但没有必要。
  C编译程序对函数中的如下语句:
  X [ 2 ] [ 4 ]
  处理时,需要知道二维的长度。若行长度没定义,那么它就不可能知道第三行从哪儿开始。



第 页

责任编辑:qwer19871212

相关文章
公告栏

“蓝焰杯”第二届河南教育十大新闻人物火热评选中!!

点击参加评选,为你心目中的新闻人物投上一票>>>>
频道内容精选
[计算机考试]程序员必考的知识点
论坛/博客精选