c++中的动态内存分配

本文详细介绍了C++中的内存管理,包括malloc/calloc在堆中分配和释放内存,new和delete用于动态创建和删除单个对象,以及new[]和delete[]处理数组内存。还讨论了如何使用new为结构体分配空间,以及内存泄漏预防实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小编学习分享:计算机学习网

 c++中的动态内存分配:

C语言中:

                malloc realloc calloc 堆里面分配 返回void 万能指针

                free释放

C++ 语言中:

    new      delete

               //分配堆内存

               类型*指针名 =new 类型;

               类型*指针名 =new 类型(值);

               //释放堆内存

               delete 指针名;

          定义一个结构体 Date 字段是整数类型的年 月 日 要求使用new 申请一个结构体大小的空间

          给块空间赋值2014 7 7输出这块空间对应的值 最后释放空间

     

new[]   delete[];

               申请多个元素空间

               类型*指针名 =new 类型名[n];

                int *parr =new int [10];

                         

                delete[]  parr;   /*析构函数*/

               申请5个整数 对于的堆内存 然后给这块空间赋值 9 5 2 7 0

               最后输出这块空间的内容

               最后释放这块空间的内存

定位内存分配:

     char data[100];

     int *pai=new  (data)int[25];

     

     data 和pai 指向相同的空间     

     pai不用DELETE 栈里面自动释放,无内存泄漏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值