Data Type

데이터 타입은 “값을 어떻게 저장하고 해석할지”를 정한다

변수 선언의 타입은 메모리 크기만 정하는 표식이 아니라, 가능한 값의 범위와 사용할 수 있는 연산 규칙까지 함께 정하는 계약이다.

1

값의 모양

정수, 실수, 문자, 참거짓 중 무엇을 담을지 정한다.

2

메모리 폭

몇 바이트를 확보하고 어디까지 표현할지 정한다.

3

연산 규칙

나눗셈, 비교, 오버플로, 출력 방식이 타입 규칙을 따른다.

4

오류 가능성

범위 초과, 실수 오차, 부호 착각 같은 위험을 예측하게 한다.

같은 숫자 10도 타입이 다르면 다르게 읽힌다

int
0A 00 00 00
정확한 정수
double
00 00 24 40
근사 실수
char
41
문자 A

타입이 컴파일러에게 알려주는 판단

저장 필요한 바이트 수와 정렬 기준을 정한다.
해석 비트열을 정수, 실수, 문자, 논리값 중 하나로 읽는다.
연산 정수 나눗셈, 실수 비교, 논리 조건처럼 규칙을 적용한다.
검사 잘못된 변환이나 범위 초과를 조기에 의심할 수 있다.

선언은 약속이다

int score;는 score가 정수 규칙으로 쓰인다는 뜻이다.

숫자처럼 보여도 같지 않다

1010.0은 저장 방식과 연산 결과가 달라질 수 있다.

확인은 코드로 한다

정확한 크기와 범위는 sizeofnumeric_limits로 본다.