动态数据区:
栈:
(1)在一块连续区域内,栈是向低地址扩展的,栈顶地址和栈的最大容量是预先定义好的。
(2)由编译器自动分配释放,速度快,但是程序员无法控制
堆:
(1)堆的地址是向高地址扩展的,且在内存中是不连续的(系统使用链表存储),堆的大小受限于系统的虚拟内存
(2)手动分配,速度慢易产生碎片
静态数据区(全局区)(数据段):全局变量和静态变量和常量
动态数据区:
栈:
(1)在一块连续区域内,栈是向低地址扩展的,栈顶地址和栈的最大容量是预先定义好的。
(2)由编译器自动分配释放,速度快,但是程序员无法控制
堆:
(1)堆的地址是向高地址扩展的,且在内存中是不连续的(系统使用链表存储),堆的大小受限于系统的虚拟内存
(2)手动分配,速度慢易产生碎片
静态数据区(全局区)(数据段):全局变量和静态变量和常量