C에서 사용하는 상수의 종류는 아래와 같다.




상수는 정수형과 실수형으로 나누어지며

정수형은 signed/unsigned로 사용 가능한 반면, 실수형은 항상 signed로 사용한다.


int 상수의 크기는 CPU 의존적이기 때문에 컴파일러 마다 다르다.

보통 CPU 연산 수행을 위한 레지스터 크기로 결정하며 2Byte 또는 4Byte가 된다.


그리고 suffix를 통해 데이터 타입을 구분하게 되는데 정수의 경우 suffix가 없을 경우 무조건 signed int가 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(void)
{
    printf("char: %d\n"sizeof(char));
    printf("short: %d\n"sizeof(short));
    printf("int: %d\n"sizeof(int));
    printf("long: %d\n"sizeof(long));
    printf("long long: %d\n"sizeof(long long));
    printf("float: %d\n"sizeof(float));
    printf("double: %d\n"sizeof(double));
    printf("long double: %d\n"sizeof(long double));
 
    return 0;
}
cs



Visual studio에서 sizeof 함수를 사용하여 출력한 결과이다.

sizeof 함수는 자료형의 크기를 구하는 함수이며 unsigned를 붙여도 크기는 같다.



C 표준의 정수형 상수 범위는 아래와 같다.


Type 

Byte 

 min

max 

char

1

127 

signed char

1

-127 

127 

unsigned char

1

255 

signed short

2

-32,767 

32,767 

unsigned short

2

65,535 

signed int

2 or 4

-2,147,483,647 

2,147,483,647 

unsigned int

2 or 4

4,294,967,295 

signed long

4

-2,147,483,647 

2,147,483,647 

unsigned long

4

4,294,967,295 



+ Recent posts