作者liu2007 (薯)
看板C_and_CPP
標題[問題] 關於記憶體free.....
時間Thu Oct 22 19:20:00 2009
上課的時候
如果程式裡有寫到鏈節串列
老師都會叮嚀我們要記得把所有節點free掉
要不然一直test程式會一直吃掉記憶體
除非重開機 reboot (我同學說的,不知對否....)
那麼我們使用int float char .........等等的變數呢?
為什麼不需要特別把它們free掉呢?
我自己猜是因為當run 結束之後IDE會自動把這些保留字型態的變數free掉
不知道對不對.....
此外
我又想到
以後開發程式出來後並沒有IDE
當程式關掉之後並沒有東西幫我們free掉變數
請問是否要自己養成習慣
在程式結束後把所有變數free掉??
如果猜錯的話就見笑了 Orz....
--
◣█◥
█ ̄ ̄ 幹你媽的洨王子 國家現在需要你
█⊙⊙
◢◤ 皿 ◥ 歡迎加入 偉大消波塊的行列
◢◤ @m◥
ψQSWEET ◥◣█◢◣█◢ 100個不嫌多 1個不嫌少 3Q!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.115.251
推 nowar100:你可以先了解一下stack和heap上的差異 10/22 19:27
→ nowar100:自動變數是長在前者 自己手動要的變數是長在後者 10/22 19:28
→ nowar100:stack會自己消長 heap你不還給OS就會一值占用到程式結束 10/22 19:29
推 QQ29:也不用重開機吧 關掉程式就好了~ 10/22 19:30
推 chchwy:有malloc才要free 10/22 19:31
推 joefaq:malloc是跟OS要一塊記憶體來用 所以你程式結束OS會釋放 10/22 20:57