栈,堆和静态存储区的区别

1)   堆是由低地址向高地址扩展,栈是由高地址向低地址扩展。

2)   堆是不连续的空间,栈是连续的空间。

3)   在申请空间时,栈的分配要比堆的快。对于堆,先遍历存放空闲存储地址的

链表、修改链表、再进行分配;对于栈,只要剩下的可用空间足够,就可分配到,

如果不够,那么就会报告栈溢出。

4)   栈的生命期最短,到函数调用结束时;静态存储区的生命期最长,到程序结

束时;堆中的生命期是到被我们手动释放时(如果整个过程中都不手动释放,那就

到程序结束时)。
原文地址:https://www.cnblogs.com/taoxu0903/p/1431264.html