循環體內棧內部的變量爲何每次內存位置都相同?

編者:李國帥

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

-------------

請按任意鍵繼續. . .

*/

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章