功能 | 栈 | 堆 |
---|---|---|
申请与释放 | 编译器自动分配、回收 | 程序员分配和释放(C 使用 malloc 申请内存、free 释放内存;C++ 使用 new 申请内存、delete 释放内存) |
申请内存后系统的响应 | 申请空间大于栈空间时程序将提示异常 (栈溢出) | 超过内存空间程序报异常 |
空间大小限制 | window 1 M linux 8 M | 系统内存,比栈大很多 |
申请效率 | 快 | 比较慢 |
功能 | 栈 | 堆 |
---|---|---|
申请与释放 | 编译器自动分配、回收 | 程序员分配和释放(C 使用 malloc 申请内存、free 释放内存;C++ 使用 new 申请内存、delete 释放内存) |
申请内存后系统的响应 | 申请空间大于栈空间时程序将提示异常 (栈溢出) | 超过内存空间程序报异常 |
空间大小限制 | window 1 M linux 8 M | 系统内存,比栈大很多 |
申请效率 | 快 | 比较慢 |