변수의 범위(scope)

2024. 7. 26. 13:49정보처리,전산/Clang

반응형

 

#include <stdio.h>

int main(){

    for (int i = 0; i < 5; i++) {
        printf("%d", i);
    }

    printf("\n%d", i);  // 오류가 나는 부분
    return 0;
}

 

 

 

오류 원인
for 루프에서 선언된 int i 변수는 해당 for 루프 내부에서만 유효한 지역 변수이다. 즉, for 루프 블록이 끝나면 i 변수는 범위를 벗어나게 되어 더 이상 유효하지 않는다.

따라서, for 루프가 끝난 후 printf("\n%d", i);를 실행할 때, 컴파일러는 i 변수를 찾을 수 없으므로 오류가 발생한다.

반응형