자료형이란? 변수에 값을 담기 전에 어떤 값들을 지닐 수 있는지 미리 정해주는 변수의 종류를 의미합니다.
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 : 운영체제와 플랫폼마다 크기가 다르다.unsigned long : 0 ~ 4,294,967,295
운영체제 CPU(플랫폼) 크기 Windows x86 32 x86-64 32 리눅스 x86 32 x86-64 64 OS X x86 32 x86-64 64
long long : int로 표현하지 못하는 수의 크기를 사용할 때 사용한다.
unsigned long long : 0 ~ 18,446,744,073,709,551,615
실수형
float : 단정밀도 부동소수점 (소수점 이하 7개의 자릿수), 사용하기 위해선 접미사 F로 표기
- ex) float val = 3.14f
double : 배정밀도 부동소수점 (소수점이하 15개의 자릿수), 실수형 상수
long double : 운영체제와 플랫폼마다 크기가 다르다, 접미사 L로 표기
자료형 크기 부호 지수 가수 float 32bit 1bit 8bit 23bit double 64bit 1bit 11bit 52bit
운영체제 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 |