C++ 데이터 타입 이해하기: 기초, 수정자, 모범 사례
C++ 데이터 타입 완벽 이해
C++의 핵심 데이터 타입(정수, 부동소수점, 문자, 불리언 등)을 선언과 사용 예제로 상세히 다룹니다.
C++ 데이터 타입은 변수가 담을 수 있는 데이터의 종류와 크기를 지정하는 선언입니다. 예:
int age = 13;
여기서 age는 int로, 2~4바이트 정수를 저장합니다. 정확한 크기는 구현에 따라 다르지만 int는 최소 16비트가 보장됩니다.
C++ 기본 데이터 타입
기본 타입들의 의미와 일반적인 크기(바이트):
| 데이터 타입 | 의미 | 크기(바이트) |
int | 정수 | 2 또는 4 |
float | 부동소수점 | 4 |
double | 배정밀도 부동소수점 | 8 |
char | 문자 | 1 |
wchar_t | 와이드 문자 | 2 |
bool | 불리언 | 1 |
void | 값 없음(빈 타입) | 0 |
각 타입을 자세히 살펴보겠습니다.
1. C++ int
int 키워드로 정수 선언
- 일반적 크기: 4바이트, 범위 -2,147,483,648 ~ 2,147,483,647
- 예:
int salary = 85000;
2. C++ float와 double
- 소수부가 있는 실수 저장
- 크기:
float 4바이트, double 8바이트(약 2배 정밀도)
- 예:
float area = 64.74; double volume = 134.64534;
과학적 표기법도 지원:
double distance = 45E12; // 45 × 10^12
3. C++ char
- 단일 8비트 문자 표현
- 작은따옴표 사용:
'h'
- 예:
char test = 'h';
참고: 내부적으로 char는 정수 코드 포인트를 저장합니다.
4. C++ wchar_t
- 와이드 문자 타입, 보통 2바이트
- 8비트 범위를 넘는 유니코드 문자에 사용
- 예:
wchar_t test = L'ם'; // 히브리어 문자
앞의 L은 와이드 문자열 리터럴을 나타냅니다.
참고: C++11부터 char16_t, char32_t로 고정 폭 유니코드 지원.
5. C++ bool
true 또는 false만 저장
- 조건문과 루프의 제어 흐름에 필수
- 예:
bool cond = false;
6. C++ void
- 값 없음 표시, 함수 반환 타입과 포인터 연산에 사용
void 타입 변수 선언 불가
C++ 타입 수정자
기본 타입을 세분화하는 4가지 주요 수정자:
signed
unsigned
short
long
int, double, char에 적용 가능합니다.
수정된 데이터 타입 목록
| 데이터 타입 | 크기(바이트) | 의미 |
signed int | 4 | 표준 정수(int와 동일) |
unsigned int | 4 | 음수 없음, 0 이상만 |
short | 2 | 작은 정수: -32,768 ~ 32,767 |
unsigned short | 2 | 양수만: 0 ~ 65,535 |
long | 최소 4 | 큰 정수 |
unsigned long | 4 | 큰 양수 정수 |
long long | 8 | 매우 큰 정수 |
unsigned long long | 8 | 매우 큰 양수 정수 |
long double | 12 | 확장 정밀도 부동소수점 |
signed char | 1 | 부호 있는 문자: -127 ~ 127 |
unsigned char | 1 | 부호 없는 문자: 0 ~ 255 |
예제:
long b = 4523232;
long int c = 2345342;
long double d = 233434.56343;
short e = 3434233; // 범위 초과 에러
unsigned int a = -5; // 컴파일 에러
파생 데이터 타입
기본 타입으로부터 구성된 타입들: 배열, 포인터, 함수 포인터, 구조체, 공용체, 열거형. 후속 튜토리얼에서 다룹니다.