編者:李國帥
qq:9611153 微信lgs9611153
背景:
計算機語言特別是C中,堆和棧始終是重要的概念,涉及到內存的操作,一不小心就會導致程序出錯。
如果是直接讀寫錯誤還能直接發現,若是泄漏的問題恐怕要花大力氣去查。
問題描述:
在許久以前有一個疑問,現在也無法解答,可能涉及到棧的分配。
在調試模式下,循環體內,棧內部的變量爲何每次內存位置都相同?
棧內的變量僅被申請了一次嗎?
請看下面的例子,輸出結果發現,每次申請的棧的內存地址都相同,難道說,加載的時候已經設定好了分配好了嗎?
也許有人知道答案,但對應用開發也不重要。
所需資源:
VC
例子:
2006-10-10 16:58
結果:
棧內部的變量爲何每次內存位置都相同?
/*
0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730
-------------
0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730
-------------
0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730
-------------
請按任意鍵繼續. . .
*/