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; }