精华内容
下载资源
问答
  • C++:内存分几个区

    2020-10-29 10:21:19
    内存到底分几个区? 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中...

    内存到底分几个区?

    1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值局部变量的值等。

    2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

    3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。

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

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

     

    1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。

    2.堆,就是那些由new分配的bai存块,他们的释放编译器不去管,由用户的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

    3.自由存储区,就是那些由malloc等分配的du存块,它和堆是十分相似的,不过它是用free来结束自己的生命的。

    4.全局/静态存储区,全局变量和静态变量被分配到同一块zhi存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块dao存区。

    5.常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改。

    展开全文
  • C\C++中内存分几个区

    2016-02-26 21:07:00
    1、栈(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据...

    1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
    2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
    3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。
    - 程序结束后由系统释放。
    4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放  
    5、程序代码区—存放函数体的二进制代码。

    转载于:https://www.cnblogs.com/fantasy3588/p/5221797.html

    展开全文
  •  全局(静态) -- 全局变量和静态变量的存储是放在一块 的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束释放。  4. 另外还有一专门放...

     1 栈 --有编译器自动分配释放

     2. 堆 -- 一般由程序员分配释放,若程序员不释放,程序结束时    可能由OS回收 

     3. 全局区(静态区) -- 全局变量和静态变量的存储是放在一块 的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束释放。 

    4. 另外还有一个专门放常量的地方。程序结束释放。

    展开全文
  • c++内存到底分几个区

    2011-11-08 13:41:04
    c++内存到底分几个区c++内存到底分几个区
  • 内存到底分几个区

    千次阅读 2017-12-25 10:11:50
    作为程序员,我们总希望自己编写的代码是可控的,是在自己的意愿下执行和实现功能的,所以这要求我们在进行C/C++编程时,对内存的了解比较精准,经常需要操作的内存可分为以下几个类别: =====================...

    作为程序员,我们总希望自己编写的代码是可控的,是在自己的意愿下执行和实现功能的,所以这要求我们在进行C/C++编程时,对内存的了解比较精准,经常需要操作的内存可分为以下几个类别:

    ==================================================================================================

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

     2、堆区(heap) : 一般由程序员分配释放, 若程序员不释放,程序结束时可能由系统回收 ,但在程序的运行期间也是唯一可能造成内存泄漏的区域(例如:循环new出来的对象取总是没有呗delete释放掉);

     3、全局区(又称静态存储区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束后有系统释放;

     4、文字常量区 :常量字符串就是放在这里的, 程序结束后由系统释放;

     5、代码段:存放函数体的二进制代码;

    ==================================================================================================

    以下是一段实际说明的程序代码:

    //main.cpp 
    int a = 0; 全局初始化区 
    char *p1; 全局未初始化区 
    main() 

    int b; 栈 
    char s[] = "abc"; 栈 
    char *p2; 栈 
    char *p3 = "123456"; 123456在常量区,p3在栈上
    static int c =0; 全局(静态)初始化区
    p1 = (char *)malloc(20); 分配得来的20个字节的区域就在堆区
    strcpy(p1, "123456"); 123456放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方

    }

    简单介绍,希望对大家有所帮助!------Powered By Anonymous--V.

    展开全文
  • c++内存到底分几个区? 一:  1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。   2、堆区(heap) — 一般由程序员分配释放, 若...
  • Java虚拟机主要分为以下几个区: 方法区 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 方法区主要用来存储已被虚拟机加载的类的...
  • 下面有种网上的理解,我整理一下: 一:  1、栈(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。  2、堆(heap) — 一般由程序员分配释放, ...
  • c++内存到底分几个区?!

    千次阅读 2009-07-24 13:19:00
    一个由c/C++编译的程序占用的内存分为以下几个部分 (大致有3种说法) 一:1、栈(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆(heap) — ...
  • 几个内存区

    2014-07-23 09:51:47
    从以上知识可知,栈是系统提供的功能,特点是...不同堆分配的内存无法互相操作。栈空间静态分配和动态分配两种。静态分配是编译器完成的,比如自动变量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释
  • 问题 :C++运行时内存分为几个区啊?怎么有些人说是分为:堆、栈、自由存储区、全局区、常量区,有些人说是分为:堆、栈、全局区、常量区、代码区呢。 为什么要这样啊?是因为程序运行方式的需要呢还是从程序数据...
  • JVM内存分几种?

    2017-08-22 15:26:15
    JVM内存分四种:1、栈(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源 2、堆(heapsegment)—一般由程序员分配释放,存放由new...
  • 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆(heap)—一般由程序员分配释放,若...
  • 内存中存储分类

    2019-10-24 16:44:08
    问题:内存中到底分几个区? 1、栈区(stack)-- 由编译器自动分配释放,存放函数的参数值,局部变量的值等。 2、堆区(heap)-- 一般有程序员分配和释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据...
  • java内存一般分几

    2018-03-01 23:02:41
    具体方法执行结束后,系统自动释放JVM内存资源堆:一般由程序员分配释放,存放new分配的对象和数组,JVM不定时查看这对象,如果没有引用指向这对象就回收静态:存放全局变量、静态变量和字符串常量,不释放...
  • 内存分类

    2015-08-29 15:06:00
    经常需要操作的内存可分为以下几个类别: 栈(stack ):由编译器自动分配和释放,存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈。 堆(heap ):一般由程序员分配和释放,若程序员不释放,程序...
  • C/C++编译的程序占用的内存分为以下几个部分 1、栈(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆(heap)—一般由程序员分配释放,若程序员不...
  • 变量存储内存分类

    2021-06-08 14:02:27
    java内存分区域,其他语言的内存分配也类似 堆/栈/data/code 1.stack 存放函数参数和局部变量;栈内存一般是兆 2.heap存放对象;堆理论上是可以使用内存剩下的所有空间 3.data存放static 的变量...
  • JAVA一共分几内存

    2019-05-20 19:21:54
    1.寄存器 —— 供CPU使用 2.本地方法 —— 调用系统底层内容 3.方法(也叫:数据,共享,共享数据) —— 存放全局变量,静态变量和字符串常量,和方法 ...就是用于封装多数据的。 1:...
  • A、分类方式 1、 栈(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,...3、全局(静态)(static) 存储全局变量和静态变量  (1)、BBS(Block St
  • 1、大多数情况下,对象在新生代Eden中分配。当Eden没有足够空间进行...虚拟机采用代收集的思想来管理内存,那么内存回收时就必须能识别哪些对象应放在新生代,哪些对象应放在老年代中。为了做到这一点,虚拟机给
  • 程序占用的内存分类

    2017-09-20 09:54:00
    一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆(heap)—一般由程序员分配释放,若程.....
  • 移动开发内存分类

    2016-05-21 15:55:28
    一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆(heap) — 一般由程序员分配释放, ...
  • C++中存储分类 一般来讲C++的存储分为三大块 静态存储(static storage duration):静态变量被分配在此区段,全局变量隐含的是静态的。变量的分配是编译和链接时完成的,但是初始化直到程序中的定义...
  • Java 内存空间分类

    2019-01-11 15:59:30
    文章目录1. 概述2. 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈2.3 本地方法栈2.4 Java 堆2.5 方法2.6 运行时常量池2.7 直接内存2.8 小结3....JVM 在 Java 程序运行时把它所管理的内存划分为几个不同的...
  • 内存分代机制详解

    2020-09-03 21:59:38
    1.jvm的内存模型包括以下部分: 方法:是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 Java堆:堆用来存储几乎所有对象、数组等都在此分配内存,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 883
精华内容 353
关键字:

内存分几个区