강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

홍정모의 따라하며 배우는 C++

5.5 반복문 while

무한루프에서 초기화 관련 질문

해결된 질문

작성

·

508

0

4.4 반복문 while - 7:30

무한루프를 돌면 int count = 0;  이 계속 반복되는데, 

어떻게 선언 및 초기화가 계속 반복될 수 있는 건지 이해가 잘 안 됩니다.

메모리에 대한 이해가 요구되는 문제인 것 같은데

알려주시면 감사하겠습니다 !

답변 1

2

이거는 <1.7 지역범위>  <4.1 지역변수, 범위> 강의 다시 복습해보실 것을 추천드립니다!

변수는 자신이 선언된 영역 내에서만 수명을 가집니다.

즉, int count = 0 은 while 문 내부, 즉 while문 중괄호 내에서 선언이 된 변수이기 때문에 이 count 의 수명은 while문 내에서일 뿐입니다.

while 문이 반복할 때마다 새로운 중괄호 범위가 시작됩니다. while문 끝나면 다시 반복 조건 검사하러 중괄호를 빠져나와 위로 올라가거든요? 그렇기 때문에 while문 중괄호는 1번의 반복당 1개 라고 생각하시면 됩니다. 

그렇기 때문에 int count = 0; 이라는 변수는 while문 반복 한번에 해당하는 영역에서만 수명을 가지는 거에요. 그렇기 때문에 하나의 반복이 시작될 때 count 가 생성되고  하나의 반복이 끝나면 count 가 죽고 그리고 또 다음 반복이 시작되다면 또 count 가 생성되고.. 이렇게 count 변수 선언이 계속해서 반복되는 것입니다. 

아 반복될 때마다 새로운 중괄호로 들어가는 거군요! 중괄호에서 빠지지 않고 계속 반복되는 걸로 이해하고 있었네요

답변 감사드립니다 !

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기