美文网首页
栈,堆,全局区,常量区,代码区的区别

栈,堆,全局区,常量区,代码区的区别

作者: 00after | 来源:发表于2019-05-20 11:14 被阅读0次

原文
栈,堆,全局区,常量区,代码区的区别

1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

2)、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。(ios中alloc都是存放在堆中)

3)、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放。注意:全局区又可分为未初始化全局区:.bss段和初始化全局区:data段。

4)、常量区—常量字符串就是放在这里的。 程序结束后由系统释放

5)、代码区—存放函数体的二进制代码。

相关文章

  • 19·iOS 面试题·什么是 ARC ?(ARC 是为了解决什么

    前言 对于 iOS 内存分区有:栈区、堆区、静态区、全局区、常量区、代码区。对于静态区、全局区、常量区、代码区,对...

  • OC的五大内存区域

    栈区(stack)堆区(heap)全局区/静态区(BSS段和数据段)常量区代码区(代码段) 1、栈区 栈区:又称堆...

  • 栈,堆,全局区,常量区,代码区的区别

    原文栈,堆,全局区,常量区,代码区的区别 1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局...

  • 无标题文章

    --- ##1.内存分区 > * 堆区 > * 栈区 > * 全局(静态)区 > * 文字常量区 > * 程序代码...

  • C++内存管理机制

    类型 堆区(动态变量) 栈区(局部变量) 全局区(全局变量、静态变量) 常量区 代码区 动态变量和局部变量的区别是...

  • 内存管理

    首先,内存分为:栈区、堆区、全局区/静态区(存放全局变量和static静态变量)、常量区(存放字符串常量)、代码区...

  • 谈谈内存分配

    内存分区: iOS中主要是栈区(stack)、堆区(heap)、全局区/静态区(staic) 、常量区、代码区; ...

  • iOS 内存基础知识及堆区和栈区的区别

    iOS内存区域大致分为;栈区,堆区,全局区(静态区),文字常量区,程序代码区 栈区 栈区(stack)由编译器自动...

  • 3-6

    内存:全局区+代码区+堆区+栈区全局区:全局变量,static修饰的变量,const修饰的变量,常量,的存储区域代...

  • iOS内存分配五大区:

    iOS内存分配五大区: 栈区,堆区,静态区(全局区),常量区,代码区 动态数据区一般就是”堆栈”,栈是线性结构,堆...

网友评论

      本文标题:栈,堆,全局区,常量区,代码区的区别

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