자료형
데이터의 크기와 해석방법을 정의.
본래 데이터는 비트열의 형태로 저장되기 때문에,
해석방법을 정의하지 않으면 해석이 불가능하다.
[참고자료] 단순히 비트열만 보고 어떤 데이터인지 알 수 있을까?
자료형은 마치 파일의 확장자처럼,
데이터의 크기와 비트열의 해석방법을 알려준다.
자료형의 구분
자료형은 특성에 따라 3가지로 구분할 수 있다.
- 언어에서 기본적으로 지원하는 자료형. (Built-in type, Pimitive type)
- 프로그래머가 스스로 정의하는 자료형. (User-Defined type)
- 어떤 자료형에서 파생되는 자료형. (Derived type)
원시 자료형
프로그래밍 언어에서 기본적으로 지원하는 자료형.
단, 언어마다 원시 자료형이 다를 수 있다.
bool과 long의 크기에 주목하자.
bool은 true or false 밖에 저장하지 못하지만 1 Byte를 차지하고,
long은 환경에 따라 변한다.
고정길이 정수 자료형
컴파일 환경에 영향을 받지 않는 정수 자료형.
정수 표준 자료형으로 채택됨.
int8_t는 char로 정의되어 있다.
char은 컴파일러마다 처리하는 방식이 다르므로, int8_t는 권장되지 않는다.
사용자 정의 자료형
프로그래머가 직접 정의한 자료형.
구조체, 클래스, 공용체, 열거형이 여기에 속한다.
- 구조체, 클래스 (Struct, Class)
여러개의 원시 자료형을 뭉쳐 만들어진 새로운 자료형.
멤버변수와 멤버함수의 데이터가 일렬로 이어진다.
공용체 (Union)
여러개의 자료형이 하나의 메모리를 참조하는 자료형.
즉, 같은 메모리를 공유하지만, 해석방법이 여러개인 자료형.
자료형의 크기가 다른경우, 가장 큰 자료형만큼의 메모리를 할당한다.
공용체는 큰 데이터를 작은 단위로 나눠야 할 때 유용하다.
열거형 (Enum)
이해하기 쉬운 이름을 갖는 정수들을 정의.
[사진출처] 네이버 블로그
파생 자료형
어떤 타입 T에서 파생되는 자료형.
포인터, 참조형, 배열, 함수가 여기에 속한다.
포인터 : T 자료형을 갖는 데이터의 시작지점을 가르키는 자료형.
참조형 : T 데이터에 새로운 이름을 부여하는 자료형.
배열 : T 데이터를 모은 자료형.
함수 : T 데이터를 리턴하는 자료형.
'# Lang > C++' 카테고리의 다른 글
2.3 자료형과 형변환 (0) | 2019.03.29 |
---|---|
2.2 자료형과 데이터 해석 (0) | 2019.03.27 |
1.3 변수와 메모리 모델 (0) | 2019.03.23 |
1.2 변수의 생성 (0) | 2019.03.21 |
1.1 변수의 정의 (0) | 2019.03.20 |