티스토리 뷰

Programming/C/C++

C언어 변수의 크기

맥밤 2016. 3. 18. 20:52

이 블로그는 제가 공부한 것을 바탕으로 정리 목적으로 사용되고 있습니다.

작성 내용중 부족한 부분이나 잘못된 부분을 지적해주시면 감사하겠습니다 (꾸벅)




자료형키워드
메모리 크기값의 범위
문자형char
1 Bytes-128~127
정수형short2 Bytes-32,768~32,767
int4 Bytes-2,147,483,648
~ 2,147,438,647
long4 Bytes-2,147,483,648 
~2.147.483.647
부호없는 문자형unsigned char1 Bytes0~255
부호없는 정수형unsigned short2 Bytes0~65,535
unsigned int4 Bytes0~4,294,967,295
unsigned long4 Bytes0~4,294,967,295
부동 소수형float4 Bytes1.2E-38~3.4E38
double8 Bytes2.2E-308~1.8E308
void형void0 Bytes값 없음


  : 메모리의 크기는 운영체제에 따라 다르며, 32비트(4Bytes) 운영체제를 기준으로 합니다.

unsigned의 사용

정수형 데이터는 부호를 갖을 수 있다. 즉 양수와 음수를 가질 수 있는데, 경우에 따라서 음수를 허용하면 안될 때가 있다.
예를 들면 키값을 가지는 변수를 선언하고자 할 때, 키는 음수가 없으므로 양수만을 가질 수 있도록 선언하는 것이 좋다.
이러한 경우 unsigned 키워드를 사용할 수 있다.



signed와 unsigned 비교

 



 

signed
unsigned
자료형이 가질 수 있는 크기 중 
최상위 비트를 부호 판별용으로 
사용하기 때문에, 표현할 수 있는 
숫자의 범위가 좁다.
예) int : 4Bytes
( -2,147,483,648 ~ 2,147,438,647) 
unsigned 변수는 부호 비트가
필요없기 때문에, signed 변수보다 
숫자의 범위를 더 넓게 표현할 수 
있다.
예) int : 4Bytes
(0~4,294,967,295)
 


 


   : 보통 signed는 생략해서 사용되며, unsigned라는 키워드가 없으면 signed를 의미한다.

 


'Programming > C/C++' 카테고리의 다른 글

int main (int argc, char *argv[]) 에 대해서  (0) 2016.04.05
구조체와 공용체의 혼용  (0) 2016.04.02
기본 함수  (0) 2016.03.30
문자와 문자열  (0) 2016.03.30
나머지 값 연산자 사용 법 % 사용법  (0) 2016.03.19
댓글