강의

멘토링

로드맵

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

조준수님의 프로필 이미지
조준수

작성한 질문수

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

5.5 반복문 while

while 문의 static 질문

작성

·

203

1

강의 중간에 있는 코드에서요

while (true)
{
	static int count = 0; // 
	cout << count << endl;
	count++;
}

저 static 으로 선언된 count의경우
매 반복마다 초기화 하게 되는건데
static은 한번만 초기화 할수있으므로
원래 에러가 떠야 정상아닌가요?
그냥 컴파일에서 한번 초기화되었으니
다음 while 이 돌때는 그냥 무시하는건가요?

퀴즈

`while` 반복문과 `do-while` 반복문의 주요 차이점은 무엇일까요?

`while`은 조건을 먼저 확인하고, `do-while`은 블록 실행 후 조건을 확인합니다.

`while`은 무한 루프에만 사용되고, `do-while`은 유한 루프에 사용됩니다.

`while`은 `continue`를 사용할 수 없고, `do-while`은 사용할 수 있습니다.

`while`은 최소 한 번 실행되고, `do-while`은 조건을 만족해야 실행됩니다.

답변 1

0

static 변수인 count 의 수명을 생각해보시면 돼요! 

count 는 { } 이 중괄호 안에서 선언이 되었기 때문에 저 중괄호가 끝나면 수명이 끝납니다.

그러니까 매 반복마다 전혀 다른 별개의 count 가 매번 새롭게 만들어지는거에요.

그래서 기존 count 가 매번 초기화 되는게 아닙니다. 

4.1 강의를 다시 상기해보시면 이해되실거에요

조준수님의 프로필 이미지
조준수

작성한 질문수

질문하기