785

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

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

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

实例

#include<stdio.h>
#include<stdlib.h>

intmain()
{
char*str;

/*一开始的内存分配*/
str=(char*)malloc(15);
strcpy(str,"HelloWorld!");
printf("String=%s\n",str);

/*重新分配内存*/
str=(char*)realloc(str,25);
strcat(str,",C");
printf("String=%s\n",str);

free(str);
system("pause");
return0;

发表回复