我的问题是,如果分配的变量再次被malloced而没有释放内存,垃圾收集器是否会释放内存。
如:

ptr1 = malloc(100)
ptr1 = malloc(200)

在这种情况下,第一个分配的内存将由垃圾收集器释放吗??
如果是,那么什么时候。。???

最佳答案

不,这会导致内存泄漏。
C中没有垃圾收集器。
你必须自己做内存管理。

ptr1 = malloc(100);
free(ptr1);
ptr1 = malloc(200);
...
...
free(ptr1);

关于c - 垃圾收集器和双分配内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9851789/

10-10 17:31