声明:文章来自网络和书本《Linxu C 程序设计大全》个人整理
堆:大家共有的空间,分全局堆和局部堆。全局堆就是没有分配的空间,局部堆就是用户分配的堆空间。堆在系统进程初始化的时候分配,运行过程中亦可向系统申请额外的堆,但是用完记得还给操作系统。不然会引起内存泄漏
栈:线程独有,保存其运行状态和局部自动变量。栈在线程开始时初始化,每个线程相互独立,故栈是thread safe的。每个C++对象的数据成员也存在栈中,每个函数都有自己的栈,栈用来在函数之间传递参数。操作系统在切换线程时会自动切换栈,也就是切换SS/ESP寄存器。栈空间不需要在高级语言里显示分配和释放。
动态内存分配:malloc()
阅读(762) | 评论(0) | 转发(0) |