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

📄 c72_5.htm

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

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>例子 </title>
<script language="javascript" src="../../layer_obj.js">
</script>
</head>

<body bgcolor="#ccefcc">
<div align="center"><center>

<table border="6" width="526" cellspacing="0" cellpadding="6" height="150" bordercolor="#FF9933">
  <tr>
    <th width="750" bgcolor="#FF9933">程序</th>
  </tr>
  <tr>
    <td ALIGN="center" width="750" bgcolor="#00FFFF"><p align="left">#define PX(X) 
    printf(&quot;X = %s; value = %u;&amp;X = %u&quot;, X, X, &amp;X)<br>
    main()<br>
    {<br>
    &nbsp; static char *mesg = &quot;fool!&quot;;<br>
    &nbsp; static char *copy;<br>
    &nbsp; copy = mesg;<br>
    &nbsp; printf(&quot;%s\n&quot;, copy);<br>
    &nbsp; PX(mesg);<br>
    &nbsp; PX(copy);<br>
    }</td>
  </tr>
</table>
</center></div>

<p><br>
<script language="javascript">
<!--
	var name="output";
	var content='输出<br>mesg = fool!; value = 4; &amp;mesg = 32<br>copy = fool!; value = 4; &amp;copy = 34<br>';	
	createLayer(name,250,270,400,80,false,content);

   name1="button";
	content1='想一下,<a href="javascript:showLayer(name)"> 输出是什么?</a><br>';
	createLayer(name1,-50,270,400,50,true,content1);
	slideLayer(name1,10,270,50);

-->
</script></p>

<blockquote>
  <p> </p>
  <p>这个输出有没有什么道理?<br>
  <br>
  <img src="../img/c72_51.gif" alt="c72_51.gif (2921 bytes)" align="right" WIDTH="281" HEIGHT="116">让我们来解释一下吧。<br>
  先研究一下 PX() 的输出。<br>
  首先, X 先为 mesg, 而后为 copy, 是作为一个 %s 打印出来的。毫无疑问, 
  所有的串都是 &quot;fool!&quot;<br>
  下面, 让我们看最后一项。<br>
  第三项是 &amp;X, 即 X 的地址。而两个指针 mesg 和 copy 分别被存贮在 32 
  和 34 的位置上。<br>
  &amp;mesg = 32<br>
  &amp;copy = 34<br>
  现在来讨论一下第二项, 我们称之为 value , 这就是 X 
  本身。指针的值是它所包含的地址, 我们看到 mesg 指向&nbsp; 4 的位置, 
  copy 也是一样。<br>
  这就意味着我们并没有拷贝串本身, copy = mesg; 
  所做的一切就是使第二个指针指向同一个串。当然, 
  这样做是十分有效的。</p>
</blockquote>

<p align="center"><a href="javascript:close()">关闭</a></p>
</body>
</html>

⌨️ 快捷键说明

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