2015-04-18 2 views
1

В случае у меня есть код так:Re-декларирование переменных в циклах

int n = // some arbitrary number 
while (n--) 
{ 
    int t=0; 
    // do somethings here 
} 

делает переменную t взяться за другое пространство while (n--). То есть, если при первом запуске t принимает ячейку A0, то во втором прогоне она принимает ячейку A1, затем A2 и т. Д. ... съедает ячейки памяти?

PS. это в случае языков «без мусора собирающих», как C, C++

ответ

0

Обобщение на риск oversimplification--

Если рассматривать это ваш пример с точки зрения охвата, то есть один распределение при запуске процедуры. Скобки просто перезапускают область t в пределах фигурных скобок.

Если вы рассматриваете это с точки зрения создания и уничтожения, каждый {в итерации цикла создает новый t, но каждый} удаляет его.

Ни в одной из этих моделей цикл не создает повторное использование памяти.

Смежные вопросы