[問題] multiple local variable declaration

看板C_and_CPP (C/C++)作者 (~"~)時間15年前 (2011/04/30 12:32), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/2 (看更多)
小弟有一個問題 就是假設我寫一個 for(i=0 ; i < 100 ; i++){ int temp; ... } 在某function裡面 int temp ; 這行程式碼被執行了一百次 那temp 這個變數會被生100次出來在不同的記憶體位置嗎? 如果會的話compiler or OS 會幫忙先清掉原本的temp嗎? (否則會浪費99個int 的記憶體大小) 還是說只會被生一次出來呢? 如果是的話 之後每次看到int temp 會是怎麼樣的行為阿 謝謝大家.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.244.131

04/30 12:45, , 1F
視編譯器而定吧:P 不過一般都會在同位置/不會清原本的垃圾
04/30 12:45, 1F

04/30 12:46, , 2F
local variable 擺在 run-time stack 裡
04/30 12:46, 2F

04/30 14:04, , 3F
會有這種問題, 難怪會有人死都不把變數放區域, 或是硬
04/30 14:04, 3F

04/30 14:05, , 4F
把他們擺在程式碼最前面 XD
04/30 14:05, 4F
文章代碼(AID): #1Dkv3rW9 (C_and_CPP)
文章代碼(AID): #1Dkv3rW9 (C_and_CPP)