您的位置首页百科知识 堆栈与堆有什么区别? Simone 发布于 2024-08-11 22:58:07 517 阅读 堆栈与堆区别为:空间不同、地址方向不同、释放不同。一、空间不同1、堆栈:堆栈是自动分配变量,以及函数调用的时候所使用的一些空间。2、堆:堆是是由malloc之类函数分配的空间所在地。二、地址方向不同1、堆栈:堆栈的地址方向是由高向低减少性扩展,有总长度大小限制。2、堆:堆的地址方向是由低向高增长性扩展,没有总长度大小限制。三、释放不同1、堆栈:堆栈由编译器自动释放,存放函数的参数值,局部变量的值等。2、堆:堆由程序员人工进行释放, 若程序员不释放,程序结束时可能由OS回收 。