管理方式
堆:由程序员手动管理堆的释放,不及时回收内存可能会导致内存泄漏
栈:由系统编译器启动管理
分配方式
堆:动态分配和回收内存,没有静态分配
栈:静态分配由系统编译器分配(局部变量等),动态分配由alloc函数分配,内存由系统编译器进行回收释放
分配大小
堆:向高地址扩展的数据结构,一块不连续的内存分配区域
栈:向低地址扩展的数据结构,一块连续的内存分配区域
堆:由程序员手动管理堆的释放,不及时回收内存可能会导致内存泄漏
栈:由系统编译器启动管理
堆:动态分配和回收内存,没有静态分配
栈:静态分配由系统编译器分配(局部变量等),动态分配由alloc函数分配,内存由系统编译器进行回收释放
堆:向高地址扩展的数据结构,一块不连续的内存分配区域
栈:向低地址扩展的数据结构,一块连续的内存分配区域