int main(void)
{
char *p1 = NULL, *p2 = NULL, *p3 = NULL;
/* 1. malloc */
p1 = malloc(10);
strcpy(p1, "hello");
printf("p1 = %s\n", p1);
free(p1);
/* 2. calloc */
p2 = calloc(5, 2);
strcpy(p1, "hello");
printf("p2 = %s\n", p1);
free(p2);
/* 3. realloc */
char *new_p = NULL;
new_p = malloc(1);
strcpy(new_p, "hello");
p3 = realloc(new_p, 10);//将new_p指向的内容复制到普新开得空间
printf("p3 = %s\n", p3);
free(p3);
return 0;
}
运行结果: