C库中的malloc、calloc和realloc函数的区别
发布时间
阅读量:
阅读量
文章结构概述
- malloc/calloc/realloc三者性能对比分析
-
-
✅共性特征
-
✅差异性分析
-
- ✔void* malloc(size_t size)
-
- 1.参数数量
-
2.初始化处理
- ✔void * calloc(size_t num,size_t size)
-
- 1.参数数量
-
2.初始化处理
- ✔void* realloc(void* p, size_t size)
-
- 1.参数数量
-
情况1:p == NULL
-
情况2:p != NULL
-
-
malloc/calloc/realloc三者大比拼
相同点分析
malloc/calloc/realloc均为C语言中用于实现动态内存分配的系统库函数- 上述函数所分配的内存区域均位于堆空间,使用完毕后需通过
free函数进行显式释放 - 当内存申请操作执行成功时,函数将返回所分配内存块的起始地址;若申请失败,则会返回
NULL指针,因此在实际使用前必须进行非空判断 - 所有函数的返回类型均为
void*,在接收返回值时应根据具体数据类型进行
- 上述函数所分配的内存区域均位于堆空间,使用完毕后需通过
全部评论 (0)
还没有任何评论哟~
