四、动态内存分配
作者:解琛
时间:2020 年 12 月 18 日
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *dynamic;
dynamic = (char *)malloc(0);
strcpy(dynamic, "jerome");
printf("DynamicString = %s,\t\t Address = %ld\n", dynamic, (long int)dynamic);
dynamic = (char *)realloc(dynamic, 25);
strcat(dynamic, ".maggie");
printf("DynamicString = %s,\t Address = %ld\n", dynamic, (long int)dynamic);
free(dynamic);
printf("DynamicString = %s,\t\t Address = %ld\n", dynamic, (long int)dynamic);
return 0;
}
执行结果如下。
xiechen@xiechen-Ubuntu:~/6.本地实验中心/3.c$ gcc 3.动态分配.c
xiechen@xiechen-Ubuntu:~/6.本地实验中心/3.c$ ./a.out
DynamicString = jerome, Address = 94822071906912
DynamicString = jerome.maggie, Address = 94822071907984
DynamicString = , Address = 94822071907984