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

📄 subject_26937.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:26937 发表者:沐秋 发表日期:2003-01-06 21:11:15
<br>主题:奇怪的指针问题?
<br>内容:我在学习指针的使用时遇到这么个例子<BR>#include "string.h"<BR>#include &lt;iostream.h&gt;<BR>int main(int argc, char* argv[])<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a,<BR>&nbsp;&nbsp;&nbsp;&nbsp;int *ptr;<BR>&nbsp;&nbsp;&nbsp;&nbsp;a=4;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"a被赋值前地址"&lt;&lt;&amp;a&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ptr被赋值前地址"&lt;&lt;&amp;ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ptr = &amp;a;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(ptr==&amp;a)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"赋值后ptr与&amp;a相等"&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"赋值后ptr与&amp;a不相等"&lt;&lt;endl;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"a被赋值后地址"&lt;&lt;&amp;a&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;&amp;ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"ptr被赋值后内容"&lt;&lt;*ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR><BR>}<BR>执行后按道理指针ptr与&amp;a是指向了同一地址,所以ptr与&amp;a相等才对<BR>可是执行后输出“ptr与&amp;a相等”,ptr与&amp;a的值却不同,这是怎么回事?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:jingfangjing 回复日期:2003-01-06 21:30:46
<br>内容:cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;&amp;ptr&lt;&lt;endl;<BR>改为<BR>cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;ptr&lt;&lt;endl;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:巴巴罗沙 回复日期:2003-01-06 21:42:20
<br>内容:倒数第三行 cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;&amp;ptr&lt;&lt;endl;<BR>应改为&nbsp;&nbsp; :cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;ptr&lt;&lt;endl ;<BR>原因:ptr 是一个内存变量,赋值(ptr = &amp;a;<BR>)后它的内容是 a 变量的内存地址,&amp;ptr 是取了 ptr 的内存地址,修改后就正常了。<BR><BR>#include &lt;iostream.h&gt;<BR><BR>int main(int argc, char* argv[]){<BR>&nbsp;&nbsp;&nbsp;&nbsp;int a&nbsp;&nbsp; ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int *ptr;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;a=4;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"a被赋值前地址"&lt;&lt;&amp;a&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ptr被赋值前地址"&lt;&lt;ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ptr = &amp;a;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(ptr==&amp;a)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"赋值后ptr与&amp;a相等"&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"赋值后ptr与&amp;a不相等"&lt;&lt;endl;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"a被赋值后地址"&lt;&lt;&amp;a&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ptr被赋值后地址"&lt;&lt;ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ptr被赋值后内容"&lt;&lt;*ptr&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR><BR><BR> <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:沐秋 回复日期:2003-01-06 22:02:53
<br>内容:好&nbsp;&nbsp;很好! 谢谢两位,书上竟然也错了,真是漏洞百出阿!真想给二位都加分,可惜作不到。还是先给巴巴罗沙老师吧,jingfangjing老师下次一定给你!呵呵&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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