더북(TheBook)

그러면 다음 코드의 결과는 무엇일까요?

static_global.c

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

1 또는 2 중 어떤 값이 출력될까요?

정답은 2입니다. 전역 변수 a를 생성하고 1로 초기화하였으며 main() 함수에서 지역 변수 a를 선언하고 2로 초기화하였습니다. main() 함수 안에서 변수 a의 값을 출력하고자 할 때 같은 이름의 전역 변수와 지역 변수가 존재한다면 지역 변수가 우선함을 알 수 있습니다.

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