51.4 연습문제: 압축 헤더 크기 구하기

다음 소스 코드를 완성하여 8이 출력되게 만드세요.

practice_struct_sizeof.c

#include <stdio.h>

struct CompressHeader {
    char flags;
    int version;
};

int main()
{
    struct CompressHeader header;

    printf("%d\n", ______________);

    return 0;
}

실행 결과

8

정답

sizeof(header)
또는
sizeof(struct CompressHeader)

해설

구조체 CompressHeader의 멤버 중 가장 큰 자료형은 int입니다. 따라서 4바이트로 구조체 정렬이 되므로 구조체 전체의 크기는 8입니다. 여기서 8을 출력해야 하므로 sizeof 연산자로 구조체의 크기를 구하면 됩니다.