内存分配方式

内存分配方式有三种:
 从静态存储区域分配。内存在编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
 在堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使用非常灵活,但如果在堆上分配了空间,就有责任回收它,否则运行的程序会出现内存泄漏,频繁地分配和释放不同大小的堆空间将会产生堆内碎块。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都...
    yikemi阅读 646评论 0 0
  • 可编辑内存基本上可分为这样的几个部分:静态存储区、堆区、栈区。 静态存储区:内存在程序编译的时候就已经分配好,这样...
    遇银阅读 133评论 0 0
  • c++内存分配方式 1.内存分配简单介绍: 一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(sta...
    王王王王王景阅读 1,133评论 0 0
  • 对于一个程序要运行,涉及到的内存分配是一个首要问题,这里简单说一下一个简单的程序运行所涉及到的内存分配方式。另外,...
    顽强的猫尾草阅读 1,280评论 0 1
  • 一: 首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数...
    _双眸阅读 691评论 0 12