for循环本质
菜鳥:為什么在for循環里重復定義變量不會報錯?
如下代碼1,因為重復定義了兩個變量 a ,編譯器報錯。 void main() { int a; int a; return; } 如下代碼2,用for循環也是定義了兩個變量a, 編譯器卻不報錯 void main() { for(int i=0;i<2;i++) { int a; } return; } 我...如下代碼1,因為重復定義了兩個變量 a ,編譯器報錯。void main()
{
int a;
int a;
return;
}
如下代碼2,用for循環也是定義了兩個變量a, 編譯器卻不報錯
void main()
{
for(int i=0;i<2;i++)
{
int a;
}
return;
}
我的問題是:
1. 為什么用for循環重復定義的變量不會報錯??????
2. 最終系統是怎樣給代碼2分配內存的? 在該函數的棧上 有兩個相同名稱的變量嗎? 這樣好像應該不可以吧。。。。。
for循環本質上就是一個函數
在for中這個int a壽命只有一次循環
即每次循環之后a的內存就被回收了 下次循環再分配一個
總結
- 上一篇: 优秀程序员和一般程序员差别在哪?
- 下一篇: 长寿的人会有的8个健康理念