這一直困擾着我,現在很長一段時間:可以說,我有一個函數:C++:函數變量聲明,它如何在內部工作?
void test(){
int t1, t2, t3;
int t4 = 0;
int bigvar[10000];
// do something
}
如何計算機處理的變量內存分配?
我一直認爲變量空間保存在計算機將讀取的.exe中,這是正確的嗎?但據我所知,bigvar
陣列沒有采取10000 int
元素空間在.exe,因爲它未初始化。那麼當我調用函數時,它的內存分配如何工作?
該exe文件存儲在_disk_中,編譯後的代碼存儲在那裏。但是當它被執行時,它會從_processor_單元獲取內存。磁盤中的字節不對應變量所需的字節。 – 2010-12-13 13:38:56
http://stackoverflow.com/questions/556714/how-does-the-stack-work-in-assembly-language – karlphillip 2010-12-13 13:41:17