다음과 같은 실제 코드를 보면서 결과를 예측해 보세요.

    sizeof.c

    #include <stdio.h>
     
    main() {
        int x;
        int a[5] = { 1, 2, 3, 4, 5 };  // 크기 5인 배열 변수 a 선언과 동시에 초기화
        int b[] = { 1, 2, 3, 4, 5 };   // 크기 지정하지 않고 배열 변수 b 선언과 동시에 초기화 
        int c[10] = { 1, 2, 3, 4, 5 }; // 크기 10인 배열 변수 c 선언과 동시에 초기화
     
        printf("변수 x의 크기는 %d byte입니다.\n", sizeof(x)); // 변수 x의 크기 구하기
        printf("b의 배열 요소는 %d %d %d %d %d\n", b[0], b[1], b[2], b[3], b[4]);
        printf("배열 a의 크기는 %d byte입니다.\n", sizeof(a));
        printf("배열 b의 크기는 %d byte입니다.\n", sizeof(b));
        printf("배열 c의 크기는 %d byte입니다.\n", sizeof(c));
    }

    실행 결과

    변수 x의 크기는 4 byte입니다.

    b의 배열 요소는 1 2 3 4 5

    배열 a의 크기는 20 byte입니다.

    배열 b의 크기는 20 byte입니다.

    배열 c의 크기는 40 byte입니다.

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