더북(TheBook)

다음 코드도 실행해 볼까요?

check_2.c

#include <stdio.h>
 
main() {
    int a;
 
    printf("변수 a의 값은 %d입니다\n", a);
}

실행 결과

error C4700: 초기화되지 않은 'a' 지역 변수를 사용했습니다.

이 코드 역시 에러가 발생하거나 의도하지 않은 결과가 나옵니다. 왜 그럴까요? 정수형 변수 a를 선언하여 4바이트 공간을 할당했지만, 값을 초기화하지 않은 상태에서 변수 a의 값을 출력하려고 했기 때문에 컴파일 에러가 발생한 것입니다.

Tip

어떤 컴파일러에서는 초기화하지 않은 정수 변수는 기본값을 0으로 간주하고 0을 출력하기도 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.