当前位置:首页 > 内存 > 正文

内存的动态存储区

  • 内存
  • 2024-06-10 13:34:09
  • 4687

一、动态分配内存的简介

C/C++内存定义了4个区域:代码区、全局变量和静态变量区、局部变量、堆栈区和动态存储区,即堆栈或自由存储区(freestore)。
堆概念:
通常定义一个变量(或对象),编译器在编译时可以根据该变量(或对象)知道所需内存空间的大小,因此系统可以分配一定的内存空间。他们的存储空间。这种类型的内存分配称为静态存储分配;有些对象的操作只能在程序运行时才能确定,因此在编写时无法为其预留存储空间,这种方法称为动态存储分配。所有文件动态都发生在堆区域中。
当程序需要动态分配变量或对象时,必须在堆上向系统申请适当大小的存储空间来存储该变量或对象。当一个变量或对象不再使用时,即其生命结束时,必须显式释放其所占用的存储空间,以便系统可以积累空间并分配有限的资源以供重用。


二、C语言动态和静态存储类别的区别SRAM的优点是工作速度快,只要不去掉电源,写入SRAM的信息就不会消失。同时,读取时原有存储的信息被破坏,写入后不会消失,可多次读取,但集成度较低,功耗较高。SRAM通常用作计算机中的缓存。DRAM是一种动态随机存取存储器(DynamicRandomAccessMemory),利用分布在场效应晶体管的栅极与其基板之间的电容来存储信息,用“1”和“0”来表示存储电荷的数量,即DRAM每个存储单元需要的场效应晶体管数量较少,常见的晶体管有4管、3管和1管DRAM,因此具有高集成度和低功耗。但其缺点是,存储在DRAM_information中的信息会随着电容中所含的信息逐渐消失,一般信息存储泄漏时间约为2毫秒。,必须每1到2毫秒刷新一次,因此使用DRAM的计算机必须配备动态刷新电路,以防止信息丢失,DRAM一般用作计算机中的主存储器。