⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c34.htm

📁 经典c语言教程
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>多维数组</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<script language="javascript">
   var prePage="http://www.nec.sjtu.edu.cn/support/Course/C/c/c3/c/c3/c33.htm";
  var nextPage="c/c3/c35.htm";
</script>

<link rel="stylesheet" href="../cstyle.css" type="text/css">
<bgsound src="../voice/c34.au" loop="1">
</head>

<body background="../img/mainback.jpg" bgproperties="fixed">

<h2 align="center"><font face="楷体_GB2312">3.4 多维数组</font></h2>

<hr>

<blockquote>
  <h4>1.多维数组的说明</h4>
  <p>&nbsp;&nbsp;&nbsp; C 语言除了支持一维数组外, 
  还支持多维数组。这一节将介绍多维数组。</p>
  <p>&nbsp;&nbsp;&nbsp; 看一个二维数组定义的例子吧。<big><font color="#0000FF">int 
  </font><font color="#FF0000"><strong>array[4][5]</strong></font><font color="#0000FF">;</font></big></p>
  <p>&nbsp;&nbsp;&nbsp; 也许你已经注意到, 
  红色部分与一维数组的定义不同。一般, 
  我们可以如下那样定义一个三维数组: <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
  <p align="center">&nbsp;&nbsp; <font color="#0000FF"><big>int three_dim_array[4][5][6];</big></font></p>
  <p align="left"><font color="#FF0000">&nbsp;&nbsp;&nbsp; 注意</font>: 在多维数组中, 
  各维的下标都是从 0 开始, 以 n-1 结束的。这和一维数组是一样的。</p>
  <h4 align="left">2.多维数组的初始化</h4>
  <p align="left">&nbsp;&nbsp;&nbsp; 多维数组初始化的方法有两种。但是, 
  数组必须作为 extern 或者 static 存储类来定义。</p>
  <div align="left"><pre>    首先, 我们看一下下面的语句: 
    static int M[3][4]={
        {0,1,2,3},
            {4,5,6,7},
                {8,9,10,11}
                    };</pre>
  </div><ul>
    <li><p align="left">初始化值是按行列出的。内层的 { } 
      用来分割一行与下一行的列表。最外层的 { } 
      把所有的列表都括起来。</p>
    </li>
    <li><p align="left"><font color="#FF0000">注意</font>: 除最后一对内层括号外, 
      &nbsp; 每一对内层括号后面都要有一个逗号。</p>
    </li>
  </ul>
  <p align="left">&nbsp;&nbsp;&nbsp; 内层大括号对的使用实际上是任选的。 
  如果未选用, 那么初始化是按行进行的。 
  这就是多维数组初始化的第二种方法。这样, 
  前面的初始化语句也可以如下那样写: </p>
  <p align="center"><big><font color="#0000FF">static int 
  M[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};</font></big></p>
  <p align="left">&nbsp;&nbsp;&nbsp; 和一维数组一样, 
  不要求对整个多维数组进行初始化。余下的元素被初始化为 0。</p>
  <div align="left"><pre>    请看一下这个例子: 
	static M[3][4]={ {1,2,3},
			{4,5,6},
			{7,8,9} };
	想一下这句语句的结果是什么。(假设数组的起始内存地址是:0100H)</pre>
  </div><p align="center"><!-- Aftershock c314.swf 3=220 4=430 17 18 19 40 --> 
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=3,0,0,0" ID="c314"
  WIDTH="220" HEIGHT="430">
    <param name="movie" value="../movie/c314.swf">
    <param name="play" value="false">
    <param name="loop" value="false">
    <param name="quality" value="autohigh">
    <param name="menu" value="false">
    <param name="bgcolor" value="#E6E6E6"><embed SRC="../movie/c314.swf" swLiveConnect="FALSE" WIDTH="220" HEIGHT="430" PLAY="false"
LOOP="false" QUALITY="autohigh" MENU="false" BGCOLOR="#E6E6E6"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
  </object>
<!-- EndAftershock c314.swf -->   </p>
  <p align="left">&nbsp;&nbsp;&nbsp; 现在, 
  我们再来看一个使用第二种初始化方法的例子。</p>
  <div align="left"><pre>static int M[3][4]={1,2,3,4,5,6,7,8,9} ;</pre>
  </div><p align="left">请想一下它的结果。请注意这两个例子间的差别。</p>
  <p align="center">  <!-- Aftershock c315.swf 3=220 4=430 17 18 19 40 --> 
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=3,0,0,0" ID="c315"
  WIDTH="220" HEIGHT="430">
    <param name="movie" value="../movie/c315.swf">
    <param name="play" value="false">
    <param name="loop" value="false">
    <param name="quality" value="autohigh">
    <param name="menu" value="false">
    <param name="bgcolor" value="#E6E6E6"><embed SRC="../movie/c315.swf" swLiveConnect="FALSE" WIDTH="220" HEIGHT="430" PLAY="false"
LOOP="false" QUALITY="autohigh" MENU="false" BGCOLOR="#E6E6E6"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
  </object>
<!-- EndAftershock c315.swf -->  </p>
</blockquote>

<p align="center"><a href="http://www.nec.sjtu.edu.cn/support/Course/C/c/c3/c35.htm"><img src="../img/next.gif" width="145" height="30"
alt="next.gif (3633 bytes)" border="0"></a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -