Advertisement

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)

还没有任何评论哟~