首页 > 系统相关 >内存四区

内存四区

时间:2023-08-14 15:35:24浏览次数:38  
标签:10 释放 int 四区 堆区 内存 new

1.全局区

c++中在运行前分为全局区和代码区。

代码区的特点是共享和只读。

全局区中存放全局变量、静态变量、常量。

常量中存放const修饰的全局变量和字符串常量。

2.栈区:

局部变量、形参数据

注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。

3.堆区

由程序员分配释放内存,若程序猿不释放,程序结束时由操作系统回收。

在c++中主要利用new在堆区开辟内存。


new操作符

在c++中主要利用new在堆区开辟内存。 手动释放内存delete。

释放堆区的数组,要加[]才行


//在堆区创建整型类型数据

//new返回的是 该数据类型的指针

int* p = new int(10);


int* arr = new int[10]; //10代表数组有10个元素

//释放堆区的数组

//释放堆区的数组,要加[]才行

delete[] arr;

标签:10,释放,int,四区,堆区,内存,new
From: https://blog.51cto.com/u_15839001/7077611

相关文章

  • IronPython内存释放问题
    先给出优化后的代码:varoptions=newDictionary<string,object>{["LightweightScopes"]=true};ScriptEngineeng=IronPython.Hosting.Python.CreateEngine(AppDomain.CurrentDomain,options);varscope=eng.CreateScope();using(varstreamOut=n......
  • volatility3处理虚拟机内存快照报错
    准备工作python3.7以上https://github.com/volatilityfoundation/volatility3#安装pipinstallvolatility3#使用vol.exe-vvv-ftest-Snapshot1.vmemhashdump-vvv显示详细的报错信息-f指定内存镜像hashdump获取账号密码hash生成Linux下的standalone文件在Li......
  • SSLSocketImpl导致内存飙高
    SSLSocketImpl导致内存飙高问题现象所有服务容器内存都飙高,基本都到98%,但是一直不挂,但是有个节点,是xxljob一直调用的,到达98%以后,xxljob继续调用,就会oom重启,并且内存是缓慢的一直提升。MAT内存快照分析使用MAT,打开hrpof内存快照文件查看OverviewPane就是点击小i点击Leak......
  • ue4游戏逆向之GName内存解析(4.23版本以下)
    ue4游戏中的所有对象名称都保存在GName中,4.23版本以下的GName解析与高版本的不同。4.23版本以下可以通过'FName::GNames()'获取到GName指针,对应的GName指针就是staticTNameEntryArray*Names,利用ue4Dumper时输入的GName就是这个静态指针变量。'TNameEntryArray'类型是通过类模......
  • 《深入理解Java虚拟机》读书笔记:内存分配策略
    Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。关于回收内存这一点,我们已经使用了大量篇幅去介绍虚拟机中的垃圾收集器体系以及运作原理,现在我们再一起来探讨一下给对象分配内存的那点事儿。对象的内......
  • C语言中如何进行动态内存分配和释放
    动态内存分配和释放是C语言中非常重要的概念,它允许在程序运行时动态地申请和释放内存空间,提高程序的灵活性和效率。本文将围绕这一主题,详细介绍C语言中如何进行动态内存分配和释放。在C语言中,动态内存分配和释放主要通过malloc()和free()函数实现。malloc()函数用于申请一块指定......
  • 进程地址空间(虚拟内存)
    进程地址空间,进程虚拟内存的管理。某个进程地址空间的全部区域可以以红黑树+链表的形式存放。内核线程没有mm_struct没有进程地址空间,没有相关的内存描述符,这也是内核线程的真实含义--它们没有用户上下文。当一个进程被调度时,该进程的mm域指向的地址空间被装载到内存,PCB中的acti......
  • 内存管理
    内核把物理页作为内存管理的基本单位,内核用一个page结构体表示内核中的每个物理页。Linux把系统的页划分为区,形成不同的内存池,根据用途分配。区只是内核为了管理页而采用的一种逻辑上的分组。一些分配释放相关函数alloc_pages,该函数分配连续的物理页,返回一个指针指向第一个......
  • 内存管理
    内存管理python——内存管理python的内存管理机制:引用计数、垃圾回收,内存池机制接口:gc.disable()#暂停自动垃圾回收.gc.collect()#执行一次完整的垃圾回收,返回垃圾回收所找到无法到达的对象的数量.gc.set_threshold()#设置Python垃圾回收的阈值.gc.set_debug(......
  • 某公司笔试题 - 求int型正整数在内存中存储时1的个数(附python代码)
    #输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。#数据范围:保证在32位整型数字范围内num=int(input("请输入一个正整数:"))#将输入的正整数转化成二进制num_bin=bin(num)print(num_bin)#将二进制字符串转化成数组nbl=list(num_bin)iflen(nbl)>0and......