malloc、free和new、delete的用法总结

本文总结了C语言中的malloc和free以及C++中的new和delete的用法。malloc用于动态内存分配,free负责释放内存,避免内存泄露。new在C++中用于动态创建对象或数组,同时会调用构造函数,delete则会执行析构函数。malloc/free不能对内存初始化,而new/delete可以自动计算所需大小并初始化。虽然new和delete功能更强大,但因兼容C语言,malloc和free依然存在。

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

mallo和new的用法也是经常容易被混淆,很多人只知道一个是c语言里的,一个是c++里的,一知半解吧。万一真被面试官问到,就真的悔不当初了,那咱就做一个总结吧,也不深究太底层,就是为了把它们的大致用处和基本原理弄清楚。

1、malloc和free函数
malloc中文叫做动态内存分配,如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。

(类型 *)malloc(int size); //malloc向系统申请分配指定size个字节的内存空间,返回类型是 类型 * 。

free是为了将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。(malloc和free应配对使用),若malloc了一次,就记得free一次,不然就会内存泄露,但是free多次同样会出现错误。

char * p = (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值