원시타입이란?
프로그램을 구성하는 기본 재료.
시초는 DWORD 임. 
DWORD는 운영체제에 따라 32bits를 쓴다면 32bits=4byte가 되고
요즘에 PC에서 자주 쓰이기 시작하는 64bits를 쓴다면 DWORD도 64bits가 됨.
( DWORD는 CPU가 한 클럭에 처리하는 데이터의 크기임. )

실은 int type은 DWORD임.


DWORD만 있으면 쓰기 불편하잖어. ASCII 코드 표현하는데 8 bits면 족할거를 32 bits짜리로 써봐라. 마스킹 해야 하고 불편하기만 함.

그래서 이 녀석을 이용해서 최소한의 데이터 타입을 만들어 쓰는거야.
1bit 만 쓰는건 BOOLEAN 타입
DWORD와 똑같이 쓰는건 int 타입. 
int에서 가장 앞 bit를 부호(sign) 비트로 쓰느냐 마느냐에 따라서
signed int 냐 unsigned int 냐가 결정됨
기본 값은 signed.

이쯤에서 조금 아는 놈들은 \"그럼 long long은 64 bits인데 뭐냐 ㅋㅋㅋ\" 라고 물어보고 싶겠지? 아마 그럴거야.

IA32 아키텍쳐에서 64bits 정수는 32 bits 레지스터 2개 이용해서 구현된거야. eax, edx 두 개로 구성되어 있지.

기본 개념은 이렇고 실제 기본 데이터 타입을 나열해볼게. 귀찮지만 공부하는 중생에게 보탬이 될 거라 믿어.

이제보니 디씨에는 글 쓸 때 테이블 만들어주는 기능이 없구나.
대충 쓸게. 테이블 태그 입력하기 귀찮아

나도 다 기억은 못해서 데이터 타입은 위키 참고해서 써줄게

1. 표준 정수형 타입.
타입      | 데이터 사이즈 (bit 단위)
_Bool        1
char        8
signed char        8
unsigned char        8
short        16
unsigned short        16
int        16
unsigned        16
long        32
unsigned long        32
long long        64
unsigned long long        64

표준 정수형 타입에 맞췄기 때문에 int가 16비트로 나왔음
다시 한 번 말하지만 int = DWORD = 운영체제의 bits 임.

그냥 한 번 쯤 열어볼 파일 : limits.h
꼭 열어볼 파일 : stdint.h
헤더파일 열어서 구경해보면 내가 쓰는 데이터 타입이 어떻게 정의되어 있는지 정확히 알 수 있게 된다. 


2. Enum (Enumerate) type
enum 타입은 상수 열거형 타입이야. 
enum colors { RED, GREEN, BLUE = 5, YELLOW } paint_color;
라고 쓰면 paint_color.RED == 0 
...
paint_color.YELLOW==6 뭐 그런거임.
난 잘 안쓰게 되던데...;;

3. 부동소수점 타입
실수를 표현할 때 쓰는건 다들 알거야.
부동소수점은 부호부, 지수부, 가수부가 결합된 형태임.
float
double
long double 
3개가 있음.
열어볼 파일: float.h


읽느라 수고했음.

기본 데이터 타입 1줄 요약 : DWORD 1개를 분할해서 표현하거나, 최대 DWORD 2개를 묶어서 표현할 수 있는 것들.

배열이나 구조체, 스트링, class가 기본 데이터 타입이 될 수 없는 이유는 위와 같기 때문이다.