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

📄 c62.htm

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

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>指针和结构 </title>
<script language="javascript">
   var prePage="c/c6/c61.htm";
   var nextPage="c/c6/c63.htm";
</script>

<link rel="stylesheet" href="../cstyle.css" type="text/css">
</head>

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

<h2 align="center"><a name="_top"></a><font face="楷体_GB2312">6.2 <font COLOR="#000000">指针和结构</font></font></h2>
<div align="center"><center>

<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="25%" align="center"><a href="c62.htm#c621.html#c621">指向结构的指针</a>&nbsp;&nbsp; 
    </td>
    <td width="25%" align="center"><a href="c62.htm#c622.html#c622">包含指针的结构</a></td>
    <td width="25%" align="center"><a href="c62.htm#c623.html#c623">链接表</a></td>
  </tr>
</table>
</center></div>

<hr>

<h3><a name="c621"></a>1.指向结构的指针 </h3>

<blockquote>
  <p>说明了一个结构指针变量是容易的, 
  这就如同说明一个基本数据类型指针变量一样。<br>
  为此, 我们可以如下边那样, 说明一个指向结构的指针变量。<br>
  <br>
  <strong><font color="#000080"><big>struct date * date_pointer;</big><br>
  </font></strong>struct date<br>
  {<br>
  &nbsp; int month;<br>
  &nbsp; int day;<br>
  &nbsp; int year; <br>
  } st<br>
  设: date_pointer=&amp;st ,则 date_pointer 的值为 st 的首地址。<br>
  <br>
  在说明了一个结构之后, 我们就可以如下那样访问这个结构:<ol>
    <li>(*date_pointer).day</li>
    <li>date_pointer-&gt;day</li>
    <li>todays_date.day </li>
  </ol>
  <p>表达式1 和表达式2 
  是使用指针来访问结构成员的等价的两种方法,表达式3 
  是结构成员的普通的访问方法。</p>
  <p align="right"><a href="c62.htm#_top.html#_top">返回页首</a></p>
</blockquote>

<hr>

<h3><a name="c622"></a>2.包含指针的结构</h3>

<blockquote>
  <p>struct int_pointers<br>
  {<br>
  <font color="#000080"><strong><big>&nbsp; int * p1;<br>
  &nbsp; int * p2;</big></strong></font><br>
  };<br>
  正如你在此看到的那样, 
  结构成员也可以是指针。我们定义了一个结构 int_pointers, 
  它包含两个指针成员: p1, p2。你可以象对待普通指针变量那样来对待成员 
  p1, p2。当你说明了一个结 构变量 st_ptr 时,可以来用下面的格式来使用其成员:<br>
  <strong><font color="#FF0000"><big>st_ptr.p1 ,st_ptr.p2 </big></font></strong></p>
  <p align="right"><br>
  <a href="c62.htm#_top.html#_top">返回页首</a></p>
</blockquote>

<hr>

<h3><a name="c623"></a>3.链接表</h3>

<blockquote>
  <p>现在, 我们来讨论下面三个方面的问题。<br>
  ( 1 ) 链接若干结构变量的方法。 <br>
  ( 2 ) 链接表成员的插入和删除的方法。<br>
  ( 3 ) 链接表的链首和链尾的处置方法。<br>
  <br>
  我们已经学过了指针, 指向结构的指针和包含指针的结构, 
  我们可以用它们来构造出复杂的数据结构, 例如: 链接表。<br>
  首先, 你可以定义一个结构, 其名字为 entry。<br>
  struct entry<br>
  {<br>
  &nbsp;&nbsp;&nbsp; int value;<br>
  &nbsp;&nbsp;&nbsp; struct entry *next;<br>
  };<br>
  <br>
  这个结构有两个成员, 第一个成员是整型的 value。第二个是指针类型的 
  next , 它指向 entry 类型的变量。</p>
  <p class="note">请记住下列事项: 在 C 语言中, 
  结构成员可以是指向该结构类型变量的指针。 这一点是很重要的。 </p>
  <p>当你已经定义过结构之后, 你就可以说明一些变量, 
  然后生成一个链接表, 请看: </p>
  <p>我们先定义四个变量:struct entry n1,n2,n3,n4;</p>
  <p><br>
<!-- Aftershock c623.swf 3=510 4=130 40 -->  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=3,0,0,0" ID="c622"
  WIDTH="505" HEIGHT="300">
    <param name="movie" value="../movie/c623.swf">
    <param name="quality" value="autohigh">
    <param name="bgcolor" value="#FFFFCC"><embed SRC="../movie/c623.swf" swLiveConnect="FALSE" WIDTH="505" HEIGHT="300"
QUALITY="autohigh" BGCOLOR="#FFFFCC" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
  </object>
<!-- EndAftershock c623.swf -->  <br>
  </p>
  <p align="right"><a href="c62.htm#_top.html#_top">返回页首</a></p>
</blockquote>

<p align="center"><a href="http://www.nec.sjtu.edu.cn/support/Course/C/c/c6/c63.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 + -