정의
c++ 프로그램은 데이터를 효율적으로 조작하고자 자료를 형태에 따라 구분하며 이렇게 구분해서 인식하는 자료의 형태를 자료형 data types라고 한다.
자료형은 크게 내장 자료형과 사용자 정의 자료형으로 나뉜다.
내장 자료형 built-in types은 프로그래밍 언어에 정의된 자료형이다. 내장 자료형은 기본 자료형 fundamentals과 복합 자료형 compound types으로 구분한다. 기본 자료형은 이름 그대로 기본적인 자료형이고, 복합 자료형은 기본 자료형을 기반으로 파생된 자료형이다.
사용자 정의 자료형 user-defined types은 열거형 enumerated과 클래스 class로 구분한다.
정수 자료형
자료형의 범위는 플랫폼에 따라서 다르다. 예를 들어, long int는 어떤 시스템에서는 4 byte이고 어떤 시스템에서는 8 byte이다. 아래의 표는 일반적인 플랫폼에서의 정수 자료형 범위이다.
| 자료형 | 범위 |
|---|---|
| short int | -32768 ~ 32797 |
| unsigned short int | 0 ~ 65536 |
| int | -2147483648 ~ 2147483647 |
| unsigned int | 0 ~ 4294967295 |
| long int | -2147483648 ~ 2147483647 |
| unsigned long int | 0 ~ 4294967295 |
문자 자료형
원래 c++에 정의되어 있는 문자 자료형의 크기는 1바이트이며 부호가 없다. 하지만 현대에는 1, 2, 4바이트이거나 부호 있는 문자도 있다. 이는 c++ 언어가 세계의 여러 문자를 지원하기 위해 변경된 것이다.
이 문서에서는 문자 자료형이 ASCII 인코딩 시스템을 기반으로 하는 1바이트 정수 자료형이라고 가정한다. ASCII 인코딩 시스템은 0 ~ 127 범위의 정수를 사용해서 128개의 글자를 정의한다.
불 자료형
참 true 또는 거짓 false을 나타내기 위한 1바이트 자료형.
c++ 언어는 불 또한 정수를 이용해서 다룬다. 0은 false, 0이 아닌 값은 true로 취급한다.
부동 소수점 자료형
소수점을 갖는 숫자를 다루는 자료형.
void 자료형
void 자료형은 값이 없음을 나타내는 특별한 자료형이다. 주로 ‘함수가 어떠한 값도 반환하지 않는다’를 나타내기 위해 사용한다.
참고자료