小编Rob*_*tle的帖子

动态分配和释放C

void* heap = malloc(100);
char *c = heap;
strcpy(c, "Terence");
printf("heap = %s\n", heap);
free(heap);
heap = malloc(100);
printf("heap = %s\n", heap);
Run Code Online (Sandbox Code Playgroud)

输出是:

heap = Terence
heap = 
Run Code Online (Sandbox Code Playgroud)

这就是我的期望,但现在我有一个更复杂的代码,结构与上面类似,但输出如下:

heap = "Terence"
heap = "  ren  "
Run Code Online (Sandbox Code Playgroud)

类似的东西.

堆似乎还没有被清理干净?

有办法解决吗?

c heap malloc free

-4
推荐指数
1
解决办法
175
查看次数

标签 统计

c ×1

free ×1

heap ×1

malloc ×1