정처기 감자정처기 감자
C언어기초

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

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 — 가장 기본적인 자료형

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

c
코드 하이라이팅 중…

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


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

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

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

c
코드 하이라이팅 중…
char는 사실 정수형입니다
컴퓨터는 문자를 숫자(ASCII 코드)로 저장합니다. 'A'는 내부적으로 65, 'a'는 97로 저장됩니다. 그래서 char로 작은 정수(-128 ~ 127)를 저장하는 것도 가능합니다.

long — int보다 큰 정수

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

c
코드 하이라이팅 중…
숫자 뒤의 L은 무엇인가요?
숫자 뒤에 L을 붙이면 이 숫자가 long 타입이라는 뜻입니다. 자세한 내용은 아래 정수 리터럴 접미사 섹션에서 설명합니다.

실수형 자료형

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

float — 기본 실수형

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

c
코드 하이라이팅 중…

double — 더 정밀한 실수형

double은 float보다 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
정보처리기사 실기에서 double은 어떻게 나오나요?
구조체 멤버나 함수의 반환형으로 출제됩니다. 24년 1회에서 구조체 멤버로 double bal이 등장했습니다. double은 실수를 저장한다는 것만 기억하면 됩니다.

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
소문자 l은 숫자 1과 헷갈릴 수 있습니다
가독성을 위해 대문자 L을 사용하는 것이 좋습니다. 5l보다 5L이 명확합니다.

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


정보처리기사 실기 예시

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

c
코드 하이라이팅 중…

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

연습 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(5개)
  • C언어 형변환 (Casting)
  • C언어 출력 함수 - putchar, printf, puts
  • C언어 구조체
  • C언어 sizeof 연산자
  • C언어 사용자 정의 함수 기초

관련 글

(41개)
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어41개
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어 sizeof 연산자
C언어코딩C언어
2026-05-06-
C언어 이진 트리 (Binary Tree)
C언어코딩C언어
2026-04-24-
C언어 중첩 구조체와 포인터 접근
C언어코딩C언어
2026-04-24-
C언어 함수 포인터 (Function Pointer)
C언어코딩C언어
2026-04-24-
배열 C언어 코딩 감자시험
감자시험C언어배열감자시험
2026-03-28응시
C언어 왕감자 정보처리기사 실기 모의 시험
C언어C언어
2026-03-27응시
제어문/반복문 C언어 코딩 감자시험
감자시험C언어제어문반복문
2026-03-28응시
연산자 C언어 코딩 감자시험
감자시험C언어연산자감자시험
2026-03-28응시
포인터 C언어 코딩 감자시험
감자시험C언어포인터감자시험
2026-03-28응시
문자열 C언어 코딩 감자시험
감자시험C언어문자열감자시험
2026-03-28응시
구조체 C언어 코딩 감자시험
감자시험C언어구조체감자시험
2026-03-28응시
C언어 구조체 배열
C언어코딩C언어
2026-03-21-
C언어 구조체 포인터
C언어코딩C언어
2026-04-24-
C언어 함수 프로토타입
C언어코딩C언어
2026-03-21-
C언어 입력 함수 - scanf, getchar, gets
C언어코딩C언어
2026-03-21-
C언어 출력 함수 - putchar, printf, puts
C언어코딩C언어
2026-09-29-
C언어 문자열 포인터 (char *)
C언어코딩C언어
2026-03-21-
C언어 포인터 산술 (Pointer Arithmetic)
C언어코딩C언어
2026-03-21-
C언어 재귀함수 (Recursion)
C언어코딩C언어
2026-03-21-
C언어 선택정렬 (Selection Sort)
C언어코딩C언어
2026-02-10-
C언어 스택 (Stack) - LIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 2차원 배열
C언어코딩C언어
2026-03-21-
C언어 원형 큐 (Circular Queue)
C언어코딩C언어
2026-03-21-
C언어 ctype.h 문자 판별 함수
C언어코딩C언어
2026-03-21-
C언어 이중 포인터 (Double Pointer)
C언어코딩C언어
2026-03-21-
C언어 동적 메모리 할당 (malloc, free)
C언어코딩C언어
2026-05-04-
C언어 헤더 파일과 #include
C언어코딩C언어
2026-03-21-
C언어 연결 리스트 (Linked List)
C언어코딩C언어
2026-05-06-
C언어 포인터 배열과 2차원 배열
C언어코딩C언어
2026-03-24-
C언어 포인터의 기초
C언어코딩C언어
2026-06-25-
C언어 큐 (Queue) - FIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 static 변수 - 값이 유지되는 변수
C언어코딩C언어
2026-03-21-
C언어 포인터를 이용한 문자열 복사
C언어코딩C언어
2026-07-09-
C언어 문자열 뒤집기 (포인터 활용)
C언어코딩C언어
2026-03-21-
C언어 구조체
C언어코딩C언어
2026-03-20-
C언어 삼항 연산자
C언어코딩C언어
2026-03-21-
C언어 typedef - 자료형에 새 이름 붙이기
C언어코딩C언어
2026-03-21-
전설의 완전수 문제 - C언어
C언어코딩C언어
2025-09-12-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999