#include <stdio.h>
int main() {
const int co1 = 10; // 상수
int num1 = 0; //변수 선언 뒤 바로 값까지 선언
int size; // 변수 선언
size = sizeof num1; //값 선언 sizeof는 변수
printf("num1 : %d\\n", size);
return 0;
}
Long은 운영체제와 프랫폼 마다 크기가 다르다.
자료형 | 크기 | 범위 | 비고 |
---|---|---|---|
char | |||
signed char | 1바이트, 8비트 | -128~127 | |
unsigned char | 1바이트, 8비트 | 0~255 | |
short | |||
short int | 2바이트, 16비트 | -32,768~32,767 | int 생략 가능 |
unsigned short | |||
unsigned short int | 2바이트, 16비트 | 0~65,535 | int 생략 가능 |
intsigned int | 4바이트, 32비트 | -2,147,483,648~ 2,147,483,647 | |
unsigned | |||
unsigned int | 4바이트, 32비트 | 0~4,294,967,295 | int 생략 가능 |
long | |||
long int | |||
signed long | |||
signed long int | 4바이트, 32비트 | -2,147,483,648~ 2,147,483,647 | int 생략 가능 |
unsigned long | |||
unsigned long int | 4바이트, 32비트 | 0~4,294,967,295 | int 생략 가능 |
long long | |||
long long int | |||
signed long long | |||
signed long long int | 8바이트, 64비트 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 | int 생략 가능 |
unsigned long long | |||
unsigned long long int | 8바이트, 64비트 | 0~18,446,744,073,709,551,615 | int 생략 가능 |
#include <stdio.h>
int main()
{
char num1 = -10; // 1바이트 부호 있는 정수형으로 변수를 선언하고 값 할당
short num2 = 30000; // 2바이트 부호 있는 정수형으로 변수를 선언하고 값 할당
int num3 = -1234567890; // 4바이트 부호 있는 정수형으로 변수를 선언하고 값 할당
long num4 = 1234567890; // 4바이트 부호 있는 정수형으로 변수를 선언하고 값 할당
long long num5 = -1234567890123456789; // 8바이트 부호 있는 정수형으로 변수를
// 선언하고 값 할당
// char, short, int는 %d로 출력하고 long은 %ld, long long은 %lld로 출력
printf("%d %d %d %ld %lld\\n", num1, num2, num3, num4, num5);
// -10 30000 -1234567890 1234567890 -1234567890123456789
return 0;
}
#include <stdio.h>
int main()
{
unsigned char num1 = 200; // 1바이트 부호 없는 정수형으로
// 변수를 선언하고 값 할당
unsigned short num2 = 60000; // 2바이트 부호 없는 정수형으로
// 변수를 선언하고 값 할당
unsigned int num3 = 4123456789; // 4바이트 부호 없는 정수형으로
// 변수를 선언하고 값 할당
unsigned long num4 = 4123456789; // 4바이트 부호 없는 정수형으로
// 변수를 선언하고 값 할당
unsigned long long num5 = 12345678901234567890; // 8바이트 부호 없는 정수형으로
// 변수를 선언하고 값 할당
// unsigned char, unsigned short, unsigned int는 %u로 출력하고
// unsigned long은 %lu, unsigned long long은 %llu로 출력
printf("%u %u %u %lu %llu\\n", num1, num2, num3, num4, num5);
// 200 60000 4123456789 4123456789 12345678901234567890
return 0;
}
header 파일 마다 자료형의 최솟값 최댓값이 저장되어 있다.
자료형 | 최솟값 | 최댓값 |
---|---|---|
char | CHAR_MIN | CHAR_MAX |
short | SHRT_MIN | SHRT_MAX |
int | INT_MIN | INT_MAX |
long | LONG_MIN | LONG_MAX |
long long | LLONG_MIN | LLONG_MAX |
unsigned char | 0 | UCHAR_MAX |
unsigned short | 0 | USHRT_MAX |
unsigned int | 0 | UINT_MAX |
unsigned long | 0 | ULONG_MAX |
unsigned long long | 0 | ULLONG_MAX |
자료형 | 최솟값 | 최댓값 |
---|---|---|
int8_t | INT8_MIN | INT8_MAX |
int16_t | INT16_MIN | INT16_MAX |
int32_t | INT32_MIN | INT32_MAX |
int64_t | INT64_MIN | INT64_MAX |
uint8_t | 0 | UINT8_MAX |
uint16_t | 0 | UINT16_MAX |
uint32_t | 0 | UINT32_MAX |
uint64_t | 0 | UINT64_MAX |
지수 표기법(과학적 표기법)은 정수 부분 한 자릿수만 적고, 소수 자릿수 뒤에 e와 지수를 표기함.