Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 기본 데이터 타입 완벽 정리: 정수형·문자형·실수형의 크기와 범위

C 언어에서 변수를 선언할 때는 해당 변수가 어떤 종류의 값을 저장할 것인지 반드시 지정해야 합니다. 이 역할을 하는 것이 바로 데이터 타입(자료형)입니다. C 컴파일러는 크게 다음 네 가지 기본(fundamental) 데이터 타입을 지원합니다.

  • 정수형(Integer)
  • 문자형(Character)
  • 부동소수점형(Floating-point)
  • 배정도 부동소수점형(Double precision floating point)

이 중 정수형과 문자형은 정수 계열(Integral) 데이터 타입으로 분류되며, 나머지는 소수점 이하 값을 표현하는 실수 계열입니다. 아래에서 각 타입의 크기, 표현 범위, 입출력에 사용되는 서식 지정자까지 하나씩 살펴보겠습니다.

C 언어 기본 데이터 타입 완벽 정리: 정수형·문자형·실수형의 크기와 범위

1. 정수형(Integer) 데이터 타입

정수형은 말 그대로 소수점이 없는 정수 값을 저장하는 데 사용됩니다. 저장 크기와 표현 범위에 따라 short int, int, long int로 나뉘며, 각각 음수를 포함하는 signed(부호 있음) 형태와 0 이상의 값만 저장하는 unsigned(부호 없음) 형태로 선언할 수 있습니다.

정수형 데이터 타입
타입크기(바이트)표현 범위서식 지정자
short int (signed short int)2-32,768 ~ 32,767%hd
unsigned short int20 ~ 65,535%hu
int (signed int)4-2,147,483,648 ~ 2,147,483,647%d 또는 %i
unsigned int40 ~ 4,294,967,295%u
long int (signed long int)4-2,147,483,648 ~ 2,147,483,647%ld
unsigned long int40 ~ 4,294,967,295%lu

※ 위 표의 크기는 일반적인 32비트 시스템 기준이며, 운영체제나 컴파일러 환경에 따라 달라질 수 있습니다.

2. 문자형(Character) 데이터 타입

문자형은 단일 문자 하나를 저장하기 위한 타입으로, 크기는 항상 1바이트입니다. 흥미로운 점은 내부적으로 문자가 정수(ASCII 코드 값)로 저장된다는 것입니다. 예를 들어 대문자 'A'는 ASCII 값 65로 저장되며, 'a'는 97, 숫자 '0'은 48에 해당합니다.

문자형 데이터 타입
타입크기(바이트)표현 범위서식 지정자
char (signed char)1-128 ~ 127%c
unsigned char10 ~ 255%c

3. 부동소수점형(Floating-point) 데이터 타입

부동소수점형은 실수, 즉 소수점이 있는 숫자를 저장하는 데 사용됩니다. 필요한 정밀도에 따라 세 가지 타입을 선택할 수 있습니다.

  • float: 약 6~7자리의 유효숫자 정밀도 제공
  • double: 약 15~16자리의 유효숫자 정밀도 제공
  • long double: double보다 더 높은 정밀도가 필요한 경우 사용
부동소수점형 데이터 타입
타입크기(바이트)표현 범위서식 지정자
float4약 3.4E-38 ~ 3.4E+38%f
double8약 1.7E-308 ~ 1.7E+308%lf
long double12 또는 16
(환경에 따라 다름)
약 3.4E-4932 ~ 1.1E+4932%Lf

마무리 정리

C 언어의 기본 데이터 타입은 정수형(int 계열), 문자형(char), 단정도 실수형(float), 배정도 실수형(double)으로 구성됩니다. 각 타입은 메모리 크기와 표현 가능한 값의 범위가 다르므로, 프로그램의 목적과 저장할 데이터의 성격에 맞게 적절히 선택하는 것이 중요합니다. 특히 서식 지정자(%d, %f, %lf 등)는 printf, scanf 함수 사용 시 반드시 타입과 일치시켜야 오류를 방지할 수 있습니다.