动态内存分配的补充 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)