内存中堆和栈上这么理解的吗?

来源:百度知道 编辑:UC知道 时间:2024/09/22 19:36:00
堆一般是从地址低向高分配的,所以像“堆”东西一样;
栈是从地址高向低分配的,向一个中转调度的“客栈”似的;
是这么理解吗?
请高手指点!
多谢!
ayayahooo 您好!那一块连续的内存和"堆"这个名词有什么联系?谢谢您的回答!
goat31 您好!谢谢您的资料!

堆栈百度百科
http://baike.baidu.com/view/93201.htm

堆的意思就是一块连续的内存,机器把控制权交给程序员,由程序员自己去控制这块内存的使用和释放。
栈是由机器控制的,使用栈的目的就是能够重复利用内存,例如当一个局部变量度过了自己的生命期,它就被从栈中弹出,这样就让出了他所占用的内存,实现了内存的重复利用,当然,这些都是机器来做的事情,你不要考虑他的具体实现。
而所谓的静态存储区,由于在整个程序的生命期都存在,所以它既不应该让程序员控制,也不能由栈控制,而是放在特定的存储区域,当程序运行结束后一并销毁。