본문 바로가기
Computer Science

[C언어] 데이터 타입별 메모리 크기

by DuncanKim 2022. 6. 25.
728x90

[C언어] 데이터 타입별 메모리 크기

 

메모리 관리는 아주 중요하다. 변수에 담고자 하는 값의 크기에 따라 변수의 타입을 선언해주는 것이 좋다.

속도에 있어서 민감하기 때문이다(그렇지만 요즘은 기술이 워낙 발달해서 대충.. 쓰기도 한다고...).

 

아무튼 타입별 메모리 크기를 알아야 많은 에러에서 벗어날 수 있다.

더불어 다른 언어도 이와 메모리 크기, 이름은 같거나 비슷하니 여기서 알아놓으면 된다.

 

 

아래에서는 자료형 별로 차지하는 메모리의 크기를 알아볼 것이다.

 

 

1) 정수형 타입

정수형 자료형 크기 자료형 값의 범위
char 1byte -128이상 +127이하
short 2byte -32,768이상 +32,767이하
int 4byte -2,147,483,648이상 
+2,147,483,647이하
long 4byte -2,147,483,648이상 
+2,147,483,647이하
long long 8byte -9,223,372,036,854,775,808이상
+9,223,372,036,854,775,808이하

 

 

2) 실수형 타입

실수형 자료형 크기 자료형 값의 범위
float 4byte ± 3.4 x  10-37이상 
± 3.4 x  10+38이하
double 8byte ± 1.7 x  10-307이상
± 1.7 x  10-308이하
long double 8byte 이상 double 이상의 표현범위

 

3) 부호 없는 문자열과 부호 없는 정수형

부호없는 문자형 크기 자료형 값의 범위
unsigned char 1 Bytes 0~255
부호없는 정수형 크기 자료형 값의 범위
unsigned short 2 Bytes 0~65,535
unsigned int 4 Bytes 0~4,294,967,295
unsigned long 4 Bytes 0~4,294,967,295

 

+++

%d는 21억까지 밖에 표현을 못한다.

%u를 사용해야 한다.long의 경우, %ld 를 써줘야 프린트 가능하다.

sizeof()를 쓸 경우, 그 메모리의 크기가 반환된다(최소단위 1바이트)

728x90

댓글