• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

while 문의 static 질문

21.11.19 13:27 작성 조회수 117

0

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

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

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

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.11.21

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

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

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

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

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