C/C++ malloc分配内存

博客主要介绍了C/C++中使用malloc()分配内存的方法,malloc()可在可用内存中找合适块并返回首字节地址,需强制类型转换。还提到使用malloc()创建数组的示例。同时说明了free()用于释放malloc()分配的内存,二者配合,内存分配从调用malloc()开始,到使用free()结束。

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

C/C++ 使用malloc()分配内存

1.malloc()

malloc()接受一个参数,即所需内存字节数,然后其可以在可用内存中寻找到一个大小适合的块。其可以返回该块内存的第一个字节的地址,可以赋值给指针变量。对于malloc()返回的类型需要进行强制类型转换将其转换为我们需要的类型。找到所需空间该函数将返回一个空指针。
例:使用malloc()来创建一个数组,使用malloc请求一个存储块以及一个指针存放该块在内存中的位置;

double* ptd;
ptd = (double*)malloc(30 * sizeof(double));

分析:该段代码请求一个能够保存30个double类型数据的空间,并且ptd指向该空间所在位置。ptd是作为一个指向double类型值的指针声明的,而不是指向30个double类型值的数据块的指针。数组的名字是它的第一个元素的地址,因此令ptd指向内存块的第一个元素,可以像使用数组名一样使用指针变量。

2.free()

malloc()和free()的函数原型在stdlib.h中。
调用malloc()可以分配一块内存给程序使用,在使用完成后可以使用free()释放该块内存,free()的参数应该是一个指针,指向由malloc()分配的内存块。两者是相互配合的。
分配内存的持续时间是从调用malloc()开始,到使用free()后结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值