在计算机内存上,比如说IA32,一般堆栈的范围是多少?我知道像0xffff1234这样的地址可能在堆栈中。例如堆栈可能增长到0x0800abcd?堆怎么样?我知道堆地址总是低于堆栈地址,但通常它的范围是什么?还有堆下面的区域是什么?堆栈和内存地址的范围是什么?
堆栈 - 程序使用实际运行程序内存。这包含局部变量,回拨数据(例如,当你调用一个函数,该堆栈存储的状态,并把你的代码,你输入的新功能之前),这种性质的一些其他的小东西。您通常不直接控制堆栈,变量和数据被破坏,当您移入和移出函数作用域时创建。
堆 - 该方案的“动态”存储器。每次您动态创建一个新对象或变量时,它都会存储在堆中。这个内存是由程序员直接控制的,你应该负责创建和删除那里的对象。
非常感谢!