
已解决的有关堆内存和堆栈内存的问题



奖励积分:0-解决时间:2007-12-618:05

#include void main(){printf('以下是堆内存的分配:'); int * a; a = new int(3); long int * b; b = new long int(4); float * c; c = newfloat(1.0); double * d; d = new double(5.0); printf('%d',a); printf('%d',b); printf('%d',c); printf('%d',d); printf('The following是堆栈的分配:'); //堆栈的地址从高到低分配int e = 1; long int f = 2; float g =3.0; double h =4.0; int i = 5; printf('%d',&e); printf('%d',&f); printf('%d',&g); printf('%d',&h);}结果:以下是堆内存的分配:366 3606552 3606608以下是堆栈分配:032 020可以看到堆栈内存是连续的,而堆内存是不连续的。让我们看一下这个证明问题,为什么顶部是堆分配,最下面是堆栈分配,int a = 3;和inta; a = new int(3)不一样吗?

提问者:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-320976-1.html
那么为什么我们要忍耐
这与买到有虫子的青菜一样
这首最好听