如果我們做這樣的事在Java中使用C會發生什麼:C有垃圾收集器像Java嗎?
temp.next = temp.next.next;
會發生什麼temp.next節點?在Java中有一個轉儲/垃圾收集器; C中有類似的東西嗎?
如果我們做這樣的事在Java中使用C會發生什麼:C有垃圾收集器像Java嗎?
temp.next = temp.next.next;
會發生什麼temp.next節點?在Java中有一個轉儲/垃圾收集器; C中有類似的東西嗎?
什麼都不會發生。它會繼續使用內存,你將失去使用它或釋放它的任何手段。
在C中,你必須明確free
你通過malloc
獲得的東西,當你完成它時,沒有引用計數或垃圾收集的東西。
在c中,如果你沒有free
你通過malloc
分配的內存,它只會坐在那裏,直到程序執行結束。
與Java不同,C沒有垃圾收集。
問題的標題應該是「C是否有垃圾回收器」問題應該不同。答案是不。 – Eregrith 2012-02-07 12:20:00
當然,感謝Eregrith – Zeemaan 2012-02-07 12:22:13
C沒有垃圾收集。如果你有興趣知道爲什麼,http://stackoverflow.com/questions/4039274/was-there-a-specific-reason-garbage-collection-was-not-designed-for-c/4039474#4039474 – 2012-02-07 14:37:02