动态内存分配的补充 realloc和calloc函数

Posted panghushalu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态内存分配的补充 realloc和calloc函数相关的知识,希望对你有一定的参考价值。

malloc calloc realloc 都是<stdilb.h>头文件的函数
函数原型:
void malloc(unsigned int num_bytes)
void
calloc(size_t n, size_t size)
void realloc(void *ptr, size_t new_Size)

先说malloc和calloc区别
malloc分配的空间里都是垃圾值,而calloc里全是0
但是malloc的效率比calloc的高

# include <stdio.h>
# include <malloc.h>
int main()
{
    int* p;
    int* pp;
    p = (int*)malloc(10 * sizeof(int));
    pp = (int*)calloc(10 ,sizeof(int));
    printf("malloc的存储空间:
");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", *(p+i));
    }
    printf("
");
    printf("calloc的存储空间:
");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", *(pp+i));
    }
    printf("
");
    return 0;
}

技术图片

以上是关于动态内存分配的补充 realloc和calloc函数的主要内容,如果未能解决你的问题,请参考以下文章

内存动态分配之realloc(),malloc(),calloc()与new运算符

动态内存函数:malloc,calloc,realloc的介绍

alloc()malloc()calloc()realloc()区别及用法

梦开始的地方—— C语言动态内存管理(malloc+calloc+realloc+free)

C:malloc/calloc/realloc/alloca内存分配函数

C语言动态内存分配