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