더북(TheBook)

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

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입니다.

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