본문 바로가기

생각정리/C(C언어)

[C]자료형 (Data Type)

자료형이란? 변수에 값을 담기 전에 어떤 값들을 지닐 수 있는지 미리 정해주는 변수의 종류를 의미합니다.


C언어에서는 정수형에 signed(부호 있는 변수)와 unsigned(부호 없는 변수)로 나뉘어 구분 짓는다.
signed의 경우에는 음수와 양수 둘 다 표현이 가능하고 unsigned의 경우에는 양수만 표현 가능한 대신 범위가 더 크다.
signed의 경우에는 생략이 가능하다.

문자형

char : 한 바이트 문자, 아스키코드값에 해당하는 0 ~ 127의 숫자를 문자로 표현 가능, 정수형으로도 사용 가능
unsingned char : 부호 없는 문자형, 0 ~ 255

정수형

  • 크기에 따라 표현할 수 있는 숫자의 범위만 달라진다.
short : 2바이트 크기의 정수형, 작은 수의 변수를 선언할 때 사용하여 메모리의 효율을 높일 수 있다.
unsigned short : 음수를 제외하고 0 ~ 65,535까지 표현 가능
int : 정수형 상수, 보통 정수를 사용할 때 기본적으로 사용한다.
unsigned int : 0 ~ 4,294,967,295
long : 운영체제와 플랫폼마다 크기가 다르다.
운영체제 CPU(플랫폼) 크기
Windows x86 32
x86-64 32
리눅스 x86 32
x86-64 64
OS X x86 32
x86-64 64
unsigned long : 0 ~ 4,294,967,295
long long : int로 표현하지 못하는 수의 크기를 사용할 때 사용한다.
unsigned long long : 0 ~ 18,446,744,073,709,551,615

실수형

float : 단정밀도 부동소수점 (소수점 이하 7개의 자릿수), 사용하기 위해선 접미사 F로 표기
 - ex) float val = 3.14f
double : 배정밀도 부동소수점 (소수점이하 15개의 자릿수), 실수형 상수
자료형 크기 부호 지수 가수
float 32bit 1bit 8bit 23bit
double 64bit 1bit 11bit 52bit
long double : 운영체제와 플랫폼마다 크기가 다르다, 접미사 L로 표기
운영체제 CPU(플랫폼) 크기
Windows x86 64
x86-64 64
리눅스 x86 96
x86-64 128
OS X x86 128
x86-64 128

논리형

  • stdbool.h 헤더 파일을 include 해서 boolean타입을 사용할 수 있다.
bool : include를 통해서 true와 false를 bool타입으로 사용 가능

자료형 기본 타입 크기 범위
문자형 부호있음 char 8bit -128 ~ 127
부호없음 unsigned char 8bit 0 ~ 255
정수형 부호있음 short 16bit -32,768 ~ 32,767
int 32bit -2,147,483,648 ~ 2,147,483,647
long 32bit -2,147,483,648 ~ 2,147,483,647
long long 64bit -9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
부호없음 unsigned short 16bit 0 ~ 65,535
unsigned int 32bit 0 ~ 4,294,967,295
unsigned long 32bit 0 ~ 4,294,967,295
unsigned long long 64bit 0 ~ 18,446,744,073,709,551,615
부동소수점형 float 32bit 1.175494e-38~3.402823e+38
double 64bit 2.225074e-308~1.797693e+308
long double 64bit 2.225074e-308~1.797693e+308