이번 편의 목표: 정수, 실수, 문자 변수를 만들고 각 자료형이 차지하는 크기를 확인합니다.

변수는 값을 담는 메모리에 붙인 이름입니다. 자료형은 그 메모리의 크기와 해석 방법을 정합니다. 지역 변수는 선언하면서 값을 넣습니다. 값을 넣기 전에 읽으면 프로그램의 의미가 정해지지 않습니다.

C
#include <stdio.h>

int main(void) {
    int late_days = 3;
    double daily_fee = 100.0;
    char mark = 'A';

    printf("%d\n", late_days);
    printf("%.1f\n", daily_fee);
    printf("%c\n", mark);
    printf("%zu %zu %zu\n", sizeof(int), sizeof(double), sizeof(char));
    return 0;
}

int는 정수, double은 실수, char는 문자 코드 하나입니다. 문자 하나는 작은따옴표입니다. sizeof는 바이트 수를 알려 주는 연산자이고, 그 결과 타입은 size_t라서 서식은 %zu입니다.

리눅스 64비트에서 int는 4, double은 8, char는 1입니다. 다른 환경에서는 int 크기가 달라질 수 있으므로, 글에 적힌 숫자만 외우기보다 이 프로그램의 출력을 기준으로 삼습니다.

문자열은 char 하나에 들어가지 않습니다. 문자 여러 개와 끝 표시는 10편에서 다룹니다.

직접 해 보기

int 변수 price에 12000을 넣고 %d로 출력하세요. 이어서 sizeof(price)도 출력해 sizeof(int)와 같은지 보세요.

해설

price는 int이므로 sizeof(price)와 sizeof(int)는 같습니다. 12000은 %d로 출력됩니다.