![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
stu_acer
这个作者很懒,什么都没留下…
展开
-
堆和栈的对比
一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块 区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束释放 4另外还有一个专门放常量的地方。 - 程序结束释放 在函数体中定义的变量通常是在栈上,转载 2006-03-21 09:26:00 · 834 阅读 · 0 评论 -
堆和栈的区别
堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空 间,局部堆就是用户分配的空间。堆在操作系统对进程 初始化的时候分配,运 行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就 是内存泄漏。堆里面一般 放的是静态数据,比如 Static的数据和字符 串常量等,资源加载后一般也放在堆里面。一个进程的所有线程共有这些堆 , 所以对堆的操作要考虑同步和互斥的问题。程转载 2006-03-21 09:25:00 · 757 阅读 · 0 评论