void fun()
{
int t;
t=1;
cout<<"t's addr "<<&t<<endl;
}
int main(void)
{
int m;
fun();
cout<<"m's addr"<<&m<<endl;
return 0;
}
输出是:
t's addr 0x0012FF24
m's addr 0x0012FF7C
同样是在栈空间分配,4个字节的int,为什么地址会相差88那么多呢?
谢谢!作者: ypxing 时间: 2007-10-01 23:19
了解一下内存的布局,
然后看一下汇编代码
就知道了作者: macintel 时间: 2007-10-02 03:05 标题: 回复 #1 ken2642 的帖子 It is about optimization.
with basic optimization it won't allocate that many wasted space.