一刻也没有为它哀悼~接下来登场的是动态内存分配的malloc与realloc以及free函数

相信各位经常看见一个词语“动态内存分配 ”,那么也经常看见malloc这个函数,但你有时又看见realloc函数,你也听说过内存释放,其实动态内存分配就是运用这些函数来进行的那么今天你可以通过这篇文章来了解和区分这些函数!希望大家多多支持!也希望官方大大多给曝光!

目录

malloc

realloc

free


malloc
 

我们先看官方解释(后边有代码解释比较通俗易懂):


 malloc  是 C 语言标准库中的一个函数,用于动态分配内存。它的主要作用是在运行时为程序分配所需的内存空间。
 
函数原型:
 
 

void *malloc(size_t size);


 
 
参数说明:
 
-  size :要分配的内存块的大小,以字节为单位。
 
函数的执行情况:
 
1. 分配内存: malloc  函数会在堆(heap)上寻找足够的连续内存空间来满足指定的大小需求。
2. 返回指针:如果成功分配到了所需的内存空间, malloc  将返回一个指向新分配内存块起始位置的指针。
3. 处理错误:如果没有足够的可用内存来满足分配请求, malloc  将返回  NULL 。这表示内存分配失败。

 
下面我们看看官方的详细要点和注意事项:
 
1. 内存分配:通过调用  malloc ,你可以在程序运行时根据需要分配任意大小的内存块。
2. 返回的指针:返回的指针是一个void*类型的指针,这意味着它没有特定的数据类型。在使用分配的内存时,你需要进行类型转换,以确保正确的访问。
3. 内存管理责任:使用  malloc  分配的内存需要由你负责管理。这包括在不再需要时使用  free  函数释放内存,以避免内存泄漏。
4. 内存对齐: malloc  可能会根据系统的要求和硬件的特性进行内存对齐,以提高性能或满足特定的硬件要求。
5. 内存安全性:在使用分配的内存时,要确保遵循正确的内存访问规则,避免越界访问或其他内存错误。
6. 错误检查:由于内存分配可能失败,所以在使用返回的指针之前,务必检查是否为  NULL 。如果是  NULL ,你需要采取适当的错误处理措施。
7. 内存大小计算:确保正确计算所需的内存大小,包括考虑数据类型的大小和任何额外的内存需求。
8. 多层分配和释放:

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值