美文网首页
内存五大分区

内存五大分区

作者: 兰帕德 | 来源:发表于2021-12-26 17:48 被阅读0次
一、栈区(stack)

由编译器自动管理。存放函数的参数值,局部变量等。操作方式类似于数据结构中的栈。
栈是由高地址往低地址扩展的数据结构,是一块连续的内存区域。即:栈顶的地址和栈的最大容量是系统预先定好的,如果申请的空间超过栈的剩余空间时,将提示溢出溢出(overflow)。因此,能从栈获取的空间较小。

二、堆区(heap)

一般由开发者分配释放,如果不释放,程序结束时,可能由操作系统回收。其与数据结构中的堆是两回事。
堆是从低地址向高地址扩展的数据结构,是不连续的内存的区域。这是由于系统使用链表存储空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。因此,堆获得的空间比较灵活,也比较大。

三、全局区(静态区)

存放全局变量和静态变量。初始化的全局变量和静态变量放在一起,未初始化的放在一起。

四、 文字常量区

寸放字符串常量,程序结束后由系统释放。

五、程序代码区

存放函数体的二进制代码。

相关文章

  • 内存管理

    目录一、内存分区 1、RAM和ROM 2、内存的五大分区二、内存管理 1、OC内存管理是指什么?OC内存管理的本质...

  • Swift--004:内存分区 & 方法调度

    内存分区 内存五大区内存分区按地址从高到低排列: 栈区->堆区->全局静态区->常量区-> 代码区栈区的地址比堆区...

  • iOS 内存管理

    内存问题主要体现在两个方面:内存溢出和野指针异常 内存的五大分区 栈区 系统开辟,系统释放,...

  • Block 有三种类型

    内存五大内存分区-----堆、栈、自由存储区、全局/静态存储区和常量存储区.1. 堆,就是那些由new分配的内存块...

  • 五大内存区

    一:五大内存区 说到内存分区,内存即指的是RAM。 栈区,堆区,全局区,常量区,代码区 1、栈区: 创建临时变量时...

  • 内存五大分区

    按照内存地址从高(0xffffffff)到低(0x00000000)的顺序排列,可分为5大分区:栈区 -> 堆区 ...

  • 内存五大分区

    一、栈区(stack) 由编译器自动管理。存放函数的参数值,局部变量等。操作方式类似于数据结构中的栈。栈是由高地址...

  • 操作系统-存储管理

    为什么内存要分区?分区有哪些类型? 内存分区是为了方便地支持多程序运行。分区管理分为固定分区和可变分区,固定分区是...

  • C++运算符重载实现(加号、左移、递增、赋值、关系运算符、函数调

    先来复习一下C++的内存分区问题~ C++内存分区 C++程序的内存分区可划分为四大内存分区:堆、栈、全局/静态存...

  • 堆栈区别

    五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由...

网友评论

      本文标题:内存五大分区

      本文链接:https://www.haomeiwen.com/subject/niusqrtx.html