【扩展1】内存堆栈

2020-10-08  本文已影响0人  牧_青

  首先需要明确,通常所说的内存堆栈和数据结构中的堆栈并不是一个概念。
  我们知道,程序一般存放在ROM(只读内存),在程序运行的时候,会将程序拷到RAM(随机存储器)中,同时,会在其中生成程序运行所需的常量,变量等信息。RAM存储的逻辑空间如下图所示(以C语言为例):


内存地址空间.png

1、栈

用于存放程序定义的局部变量,当需要存储新的变量时,从高位往地位扩展空间

2、堆

由程序员在程序中主动申请的内存空间,从低位往高位扩展空间

可读写区

用于存放全局变量和静态变量,与上面两种分配内存的时间不同,可读写区在程序编译器就会为变量分配地址

只读区

用于存放程序和常量

上一篇 下一篇

猜你喜欢

热点阅读