C언어 자료형

코딩C언어
읽는데 6분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-05-15
조회수:
선수학습(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

자료형 간 변환(예: intdouble, (int)3.7 절단, 정수 나눗셈 vs 실수 나눗셈)은 형변환 (Casting) 페이지에서 다룹니다.


정보처리기사 실기 예시

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

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

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

관련 글

(41개)
제목태그시험
C언어 형변환 (Casting)
C언어
-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어
-
C언어 사용자 정의 함수 기초
C언어
-
C언어 자료형 | 정처기 감자