공학박사 권경안
C, C++, Java 언어 기본 자료형의 크기와 범위 (2025년 최신 업데이트) 본문
GitHub - Kyeongan/data-type-in-c: A simple program prints out the size of the data type and its range
A simple program prints out the size of the data type and its range - Kyeongan/data-type-in-c
github.com
#include <stdio.h>
#include <limits.h>
#include <float.h>
int main(void)
{
printf("Size of Data Types in C\n");
printf("=======================\n");
printf("Size of char = %lu Byte\n", sizeof(char));
printf("Size of short = %lu Bytes\n", sizeof(short));
printf("Size of int = %lu Bytes\n", sizeof(int));
printf("Size of long = %lu Bytes\n", sizeof(long));
printf("Size of float = %lu Bytes\n", sizeof(float));
printf("Size of double = %lu Bytes\n", sizeof(double));
printf("\n");
printf("The Range of Data Types in C\n");
printf("=======================\n");
printf("Range of signed char %d to %d\n", SCHAR_MIN, SCHAR_MAX);
printf("Range of unsigned char 0 to %d\n\n", UCHAR_MAX);
printf("Range of signed short int %d to %d\n", SHRT_MIN, SHRT_MAX);
printf("Range of unsigned short int 0 to %d\n\n", USHRT_MAX);
printf("Range of signed int %d to %d\n", INT_MIN, INT_MAX);
printf("Range of unsigned int 0 to %u\n\n", UINT_MAX);
printf("Range of signed long int %ld to %ld\n", LONG_MIN, LONG_MAX);
printf("Range of unsigned long int 0 to %lu\n\n", ULONG_MAX);
printf("Range of signed long long int %lld to %lld\n", LONG_LONG_MIN, LONG_LONG_MAX);
printf("Range of unsigned long long int 0 to %llu\n\n", ULONG_LONG_MAX);
printf("Range of float %e to %e\n", FLT_MIN, FLT_MAX);
printf("Range of double %e to %e\n", DBL_MIN, DBL_MAX);
printf("Range of long double %Le to %Le\n", LDBL_MIN, LDBL_MAX);
printf("\n");
}
C언어에서 사용하는 기본 자료형들은 프로그램에서 데이터를 저장하는 기본 단위로, 각 자료형의 크기와 범위를 이해하는 것은 매우 중요합니다. 특히 컴퓨터 시스템의 아키텍처에 따라 자료형의 크기와 범위가 달라지므로, 정확한 이해가 필요합니다.
이번 글에서는 C언어의 기본 자료형과 그 크기, 범위에 대해 2025년 기준 최신 정보를 바탕으로 테이블 형태로 정리하고, 각 자료형에 대한 추가 설명을 제공하려 합니다.
C언어 기본 자료형의 크기와 범위
자료형 크기 및 범위 (64비트 시스템 기준)

자료형 설명
• char / unsigned char
char는 문자 데이터를 저장하는 기본 자료형으로, 1바이트 크기를 가집니다. char는 signed와 unsigned로 나뉘며, 부호 있는 경우 -128부터 127까지의 값을 저장하고, 부호 없는 경우 0부터 255까지의 값을 저장할 수 있습니다.
• short / unsigned short
short는 2바이트 크기의 정수형 자료형으로, unsigned short는 부호 없는 2바이트 정수형입니다. short는 -32,768부터 32,767까지 값을 저장할 수 있습니다.
• int / unsigned int
int는 4바이트 크기의 기본 정수형으로, unsigned int는 부호 없는 4바이트 정수형입니다. int는 -2,147,483,648부터 2,147,483,647까지 값을 저장할 수 있습니다.
• long / unsigned long
long은 8바이트 크기의 정수형으로, unsigned long은 부호 없는 8바이트 정수형입니다. long은 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지 값을 저장할 수 있습니다.
• long long / unsigned long long
long long은 8바이트 크기의 정수형으로, unsigned long long은 부호 없는 8바이트 정수형입니다. 이 자료형은 더 큰 범위를 지원합니다.
• float
float는 4바이트 크기의 단정도 부동소수점형 자료형입니다. 일반적으로 6-7자리의 정확도를 제공하며, 매우 작은 실수 또는 매우 큰 실수를 처리하는 데 사용됩니다.
• double
double은 8바이트 크기의 배정도 부동소수점형 자료형입니다. float보다 더 높은 정확도와 더 넓은 범위를 제공합니다.
• long double
long double은 8바이트 또는 16바이트 크기로, 매우 큰 범위와 더 높은 정확도를 제공합니다. 시스템에 따라 크기가 다를 수 있습니다.
최신 시스템에서의 차이점 (64비트)
64비트 시스템에서는 **int**와 long 자료형의 크기가 모두 4바이트인 시스템도 있지만, 대부분의 시스템에서 **long**은 8바이트로 정의되어 있습니다. 이에 따라, long 자료형이 32비트 시스템에서보다 훨씬 더 큰 범위를 가지며, 더 큰 수치를 처리할 수 있습니다.
'Programming' 카테고리의 다른 글
Vite와 React로 GitHub Pages에 웹 애플리케이션 배포하기 (0) | 2025.04.10 |
---|---|
Node.js와 Deno의 설계 철학 비교: 왜 Deno가 주목받는가? (0) | 2025.03.25 |
데이터 과학(Data Science) 전쟁. 데이터분석 Python or R. 당신의 선택은? (0) | 2017.11.01 |
맥 (OS X) 스크린 캡쳐 디폴트 경로 바꾸기 (0) | 2016.01.19 |
서브라임 텍스트3 (Sublime Text3) 간단 리뷰, 깃(GitHub) 사용, FTP 사용. (9) | 2015.12.28 |