📄 subject_51382.htm
字号:
<p>
序号:51382 发表者:痛苦中 发表日期:2003-09-01 10:05:20
<br>主题:程序的之中结构定义位置不同导致的优化问题和储存问题,例子在里面
<br>内容:#include <iostream.h><BR>struct {int i;<BR><BR> int b;<BR> }TEST;<BR><BR>//定义在main之前<BR><BR>void main()<BR><BR><BR>{struct {int i;<BR><BR> int b;<BR> }TEST;//定义在程序中<BR><BR><BR> cout<<&TEST<<&TEST.i<<endl; <BR> <BR>}<BR><BR>//这个程序体现了定义结构的位置导致在内存中结构的地址不同<BR><BR>//另外一个问题发现在结构首地址的不同。不了解为什么&TEST.i要在最后的地址位少一个0<BR>//<BR><BR>win2k下vc6.0<BR><BR>//最后关于.操作符的内部原理。我怎么看都觉得好象跟指针的作用差不多。比如上例的TEST.i,TEST要去找到i,我觉得内部是不是这样一来*&TEST.i来计算的。TEST.i我怎么都理解不了。不知道*&TEST.i这样理解对不对?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:木一 回复日期:2003-09-01 10:37:33
<br>内容:定义在外,是全局的,定义在内,则是局部的。<BR>其首地址自然不同。<BR><BR>*&TEST.i 与TEST.i是等价的<BR><BR> <BR>
<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 + -