Zee*_*aan -4 c malloc list
如果我们在Java中执行类似的操作,C中会发生什么:
temp.next = temp.next.next;
temp.next节点会发生什么?在Java中有一个转储/垃圾收集器; 在C中有类似的东西吗?
cni*_*tar 6
什么都不会发生.它将继续使用内存,你将失去任何使用它或释放它的方法.
在C中你必须明确地free填写你malloc在完成它时获得的东西,没有引用计数或垃圾收集这样的东西.
free
malloc
Jon*_*ler 5
C 没有自动垃圾收集。如果您失去了对对象的跟踪,就会发生所谓的“内存泄漏”。内存仍会作为一个整体分配给程序,但如果您丢失了指向它的最后一个指针,则任何东西都无法使用它。内存资源管理是 C 程序的关键要求。因此,每当您在 C 中动态分配内存时,您都需要知道它何时以及如何被释放。
有专门为您提供帮助的工具。一个值得注意的是valgrind,它使用与市售的Purify类似的技术。
valgrind
归档时间:
13 年,10 月 前
查看次数:
2516 次
最近记录: