栈用来存储局部变量,堆用来存储动态数据,从三个方面来理解堆和栈的区别,第一,内存方面,栈是自动分配内存,堆是手动分配。第二,大小方面,栈的内存通常娇小,用来存储小数据,堆通常比较大。第三生命周期,栈的生命周期随函数结束而结束,堆有程序员控制