C언어 변수 & 연산자 기본 자료형

    2018-03-23 14:58:12 작성

    C언어의 기본 자료형에는 정수형, 실수형이있습니다.

    자료형의 표현범위

    자료형

    크기

    signed

    unsigned

    정수형

    char

    1 Byte

    -128 ~ +127

    0 ~ 255

    short

    2 Byte

    -32,768 ~ +32,767

    0 ~ 65,535​

    int

    4 Byte

    (16bit 환경에서 2 Byte)

    -2,147,483,648

    ~

    +2,147,483,647

    0 ~ 4,294,967,295

    long

    4 Byte

    -2,147,483,648

    ~

    +2,147,483,647​

    0 ~ 4,294,967,295​

    long long

    8 Byte

    -9,223,372,036,854,775,808

    ~

    +9,223,372,036,854,775,807​

    0 ~ 18,446,744,073,709,551,615

    실수형

    float

    4 Byte

    ±3.4×10-37 ~ ±3.4×10+37​​

    double

    8 Byte

    ±1.7×10-307 ~ ±1.7×10+308

    long double

    8 Byte (Visual C)

    10 Byte (Turbo C)

    double 이상의 표현범위

    정수형에서 char는 문자타입 자료형이라고도 합니다.
    char에는 일반적으로 ASCII 코드라고 하는 8bit 코드값이 사용됩니다.
    ASCII 코드표 보기
    컴퓨터 키보드에서 입력받을 수 있는 영문자, 숫자, 특수문자등을 저장하는 용도로 사용됩니다.

    정수형 자료형에는 unsigned 자료형이 있으며 선언시 unsigned로 선언하게 되면 양의 정수만 저장할수 있습니다.

    일반적으로 자료형은 signed로 선언되지만 단, char형은 예외 일수 있습니다.

    다른 정수 자료형과 달리 char형은 컴파일러에 따라 unsigned char로 처리하는 컴파일러도 존재 합니다.

    이런이유에서 음의 정수를 저장해야 하는 경우 signed char 선언을 추가하기도 합니다.

    sizeof 연산자를 이용하면 자료형의 크기를 확인할 수 있습니다.

    #include <stdio.h>
    
    int main(void) {
        int num = 10;
        unsigned long ulong = 30;
        long double ld = 30.542;
        int shortSize = sizeof(short);
    
        printf("자료형 int의 크기 : %d\n", sizeof(num));
        printf("자료형 unsigned long의 크기 : %d\n", sizeof(ulong));
        printf("자료형 long double의 크기 : %d\n", sizeof(ld));
        printf("int shortSize의 값 : %d\n", shortSize);
        return 0;
    }


    실행해 보시면 자료형의 사이즈가 출력되는것을 알수 있습니다.
    특이한것은 sizeof(short) 처럼 변수가 아닌 자료형을 바로 넣어 자료형의 사이즈값을 구할수도 있다는 것입니다.

    sizeof는 함수가 아닙니다.
    sizeof()형태가 함수의 호출 형태와 같아 함수로 오인하는 경우가 있는데요.

    sizeof는 함수가 아닌 연산자입니다.