📄 subject_26937.htm
字号:
<p>
序号:26937 发表者:沐秋 发表日期:2003-01-06 21:11:15
<br>主题:奇怪的指针问题?
<br>内容:我在学习指针的使用时遇到这么个例子<BR>#include "string.h"<BR>#include <iostream.h><BR>int main(int argc, char* argv[])<BR>{<BR> int a,<BR> int *ptr;<BR> a=4;<BR> cout<<"a被赋值前地址"<<&a<<endl;<BR> cout<<"ptr被赋值前地址"<<&ptr<<endl;<BR> ptr = &a;<BR> if(ptr==&a)<BR> cout<<"赋值后ptr与&a相等"<<endl;<BR> else <BR> cout<<"赋值后ptr与&a不相等"<<endl;<BR><BR> cout<<"a被赋值后地址"<<&a<<endl;<BR> cout<<"ptr被赋值后地址"<<&ptr<<endl;<BR> cout<<"ptr被赋值后内容"<<*ptr<<endl;<BR> return 0;<BR><BR>}<BR>执行后按道理指针ptr与&a是指向了同一地址,所以ptr与&a相等才对<BR>可是执行后输出“ptr与&a相等”,ptr与&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<<"ptr被赋值后地址"<<&ptr<<endl;<BR>改为<BR>cout<<"ptr被赋值后地址"<<ptr<<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<<"ptr被赋值后地址"<<&ptr<<endl;<BR>应改为 :cout<<"ptr被赋值后地址"<<ptr<<endl ;<BR>原因:ptr 是一个内存变量,赋值(ptr = &a;<BR>)后它的内容是 a 变量的内存地址,&ptr 是取了 ptr 的内存地址,修改后就正常了。<BR><BR>#include <iostream.h><BR><BR>int main(int argc, char* argv[]){<BR> int a ;<BR> int *ptr;<BR><BR> a=4;<BR> cout<<"a被赋值前地址"<<&a<<endl;<BR> cout<<"ptr被赋值前地址"<<ptr<<endl;<BR> <BR> ptr = &a;<BR> if(ptr==&a)<BR> cout<<"赋值后ptr与&a相等"<<endl;<BR> else <BR> cout<<"赋值后ptr与&a不相等"<<endl;<BR><BR> cout<<"a被赋值后地址"<<&a<<endl;<BR> cout<<"ptr被赋值后地址"<<ptr<<endl;<BR> cout<<"ptr被赋值后内容"<<*ptr<<endl;<BR> <BR> 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>内容:好 很好! 谢谢两位,书上竟然也错了,真是漏洞百出阿!真想给二位都加分,可惜作不到。还是先给巴巴罗沙老师吧,jingfangjing老师下次一定给你!呵呵
<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 + -