堆:堆是一个公共空间,分为全局堆和局部堆。全局堆就是没有分配的空间,而局部堆就是用户已分配的空间。堆在操作系统堆进程初始化的时候分配,运行过程中也可向操作系统索要额外的堆,用完之后务必 要还给操作系统
。
栈:栈是线程独有的,保存其大量的状态和局部变量。栈在线程开始时初始化,每个线程的栈相互独立。每个函数都有自己的栈(属于函数所在的线程),用来记录函数调用之前的位置和参数传递。操作系统在切换线程的时候回自动的切换栈。栈不需要用户显示的分配和释放。
原文地址:http://blog.csdn.net/u013507368/article/details/44858005