C언어 자료형

코딩C언어
읽는데 6분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-19
조회수: 763
선수학습(1개)

요약

C언어의 자료형을 정리합니다. 정수형(int, char, long), 실수형(float, double), unsigned 자료형, 정수 리터럴 접미사(u, L, UL)까지 쌩기초부터 설명합니다.

자료형이란? 쌩기초

자료형(data type)은 변수에 어떤 종류의 데이터를 저장할지 정하는 것입니다.

왜 자료형이 필요할까요? 컴퓨터는 데이터를 저장할 때 메모리(임시 저장 공간)를 사용합니다. 이 메모리의 크기를 나타내는 단위가 바이트(byte) 입니다. 1바이트는 8비트(bit) 이고, 1비트는 0 또는 1 하나를 저장하는 가장 작은 단위입니다.

정수를 저장할 때와 소수점이 있는 수를 저장할 때 필요한 바이트 수가 다릅니다. 자료형을 통해 "이 변수에는 이런 종류의 데이터를 저장할 거야"라고 미리 알려주는 것입니다.

c
코드 하이라이팅 중...

C언어의 자료형은 크게 정수형실수형으로 나뉩니다.

  • 정수(整數): 소수점이 없는 수입니다. 1, 2, -3, 100 같은 수
  • 실수(實數): 소수점이 있는 수입니다. 3.14, -0.5, 100.0 같은 수

자료형 핵심 정리

분류자료형저장하는 데이터
정수형int정수 (가장 기본)
정수형char문자 하나 / 작은 정수
정수형longint보다 큰 정수
정수형unsigned int양수만 저장하는 정수
정수형unsigned char양수만 저장하는 문자/정수
실수형float소수점이 있는 수
실수형doublefloat보다 정밀한 소수점이 있는 수


정수형 자료형 쌩기초

정수형은 소수점이 없는 수를 저장합니다.

int — 가장 기본적인 자료형

intinteger(정수) 의 약자입니다. C언어에서 가장 많이 사용하는 자료형입니다.

c
코드 하이라이팅 중...

크기는 4바이트(32비트) 이며, 약 -21억부터 +21억까지의 수를 저장할 수 있습니다.


char — 문자 하나를 저장하는 자료형

charcharacter(문자) 의 약자입니다. 크기는 1바이트(8비트) 입니다.

주로 문자 하나를 저장할 때 사용합니다. 문자를 저장할 때는 작은따옴표(' ')로 감쌉니다.

c
코드 하이라이팅 중...

long — int보다 큰 정수

longint보다 더 큰 정수를 저장할 때 사용합니다. 시스템에 따라 int는 32비트, long은 64비트일 수 있습니다.

c
코드 하이라이팅 중...


실수형 자료형 쌩기초

실수형은 소수점이 있는 수를 저장합니다.

float — 기본 실수형

floatfloating point(부동소수점) 의 약자입니다. 크기는 4바이트이며, 소수점 이하 약 6 ~ 7자리까지 정확하게 표현할 수 있습니다.

c
코드 하이라이팅 중...

double — 더 정밀한 실수형

doublefloat보다 2배 더 정밀한 실수형입니다. 이름도 "double precision(이중 정밀도)"에서 왔습니다. 크기는 8바이트이며, 소수점 이하 약 15 ~ 16자리까지 정확합니다.

c
코드 하이라이팅 중...

C언어에서 소수점이 있는 숫자(예: 3.14)를 그냥 쓰면 기본적으로 double 타입으로 처리됩니다. float로 사용하려면 3.14f처럼 f를 붙여야 합니다.

자료형크기정밀도사용 예시
float4바이트소수점 6 ~ 7자리3.14f
double8바이트소수점 15 ~ 16자리3.141592653589793

unsigned 자료형 기초

unsigned"부호 없는" 이라는 뜻입니다. 일반 자료형은 음수와 양수 모두 저장할 수 있지만, unsigned를 붙이면 양수(0 포함)만 저장합니다. 대신 양수 범위가 2배로 늘어납니다.

자료형범위
int-2,147,483,648 ~ 2,147,483,647 (약 -21억 ~ +21억)
unsigned int0 ~ 4,294,967,295 (약 0 ~ 42억)
char-128 ~ 127
unsigned char0 ~ 255

unsigned int를 쓰는 이유

나이, 개수, 크기처럼 절대 음수가 될 수 없는 값에 사용합니다.

c
코드 하이라이팅 중...

char와 unsigned char

unsigned char비트 연산에서 8비트 단위로 계산할 때 자주 사용합니다.

c
코드 하이라이팅 중...

~5의 결과가 int에서는 -6이지만, unsigned char에서는 250입니다. 8비트 범위(0 ~ 255)에서 모든 비트가 반전되기 때문입니다.



정수 리터럴 접미사 심화

코드에 직접 쓴 값(예: 5, 3.14, 'A')을 리터럴(literal) 이라고 합니다. 5u, 100L처럼 리터럴 뒤에 붙는 문자를 접미사(suffix) 라고 하며, 접미사는 값의 자료형을 직접 지정합니다.

c
코드 하이라이팅 중...
접미사의미예시
u 또는 Uunsigned int5u, 100U
l 또는 Llong5l, 100L
ul 또는 ULunsigned long5ul, 100UL
f 또는 Ffloat3.14f, 1.0F

정보처리기사 실기 예시

연결 리스트 문제에서 자주 등장합니다.

c
코드 하이라이팅 중...

여기서 5u, 7u, 11u는 모두 unsigned int 타입입니다. 구조체 멤버가 unsigned int x;로 선언되어 있기 때문에 타입을 맞춰준 것입니다.

관련 글

(34개)
제목태그시험
C언어 구조체 배열
C언어
-
C언어 구조체 포인터
C언어
-
C언어 함수 프로토타입
C언어
-