首页 > 文章列表 > c语言中realloc函数是什么

c语言中realloc函数是什么

c语言 realloc
313 2022-08-06

1、判断当前指针是否有足够的连续空间。如果足够,扩大ptr指向的地址并返回。

如果不够,如何根据size指定的大小分配空间,将原始数据复制到新分配的内存中,然后释放原始ptr指向的区域。

2、使用内存后,应使用free()函数释放,但原指针自动释放,无需使用free。

实例

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   char *str;
 
/* 一开始的内存分配 */
str = (char *)malloc(15);
strcpy(str, "Hello World!");
printf("String = %s\n", str);
 
/* 重新分配内存 */
str = (char *)realloc(str, 25);
strcat(str, ", C");
printf("String = %s\n", str);
 
free(str);
system("pause");
return 0;
}