bool은 그냥 정수지만, 참/거짓을 나타내기 위해 사용한다고 했다.
char도 마찬가지. 그냥 정수지만 '문자' 의미를 나타내기 위해 사용
char : 알파벳 / 숫자 문자를 나타낸다
wchar_t : 유니코드 문자를 나타낸다
ASCII (American Standard Code for Information Interchange)
'문자'의 의미로 작은 따옴표 '' 사용
char ch = 'a';
char ch2 = '1';
국제화 시대에는 영어만으로 서비스할 수 없음
전 세계 모든 문자에 대해 유일 코드를 부여한 것이 유니코드 (unicode)
참고) 유니코드에서 가장 많은 번호를 차지하는 게 한국어/중국어 (뚥쿩왥)
유니코드는 표기 방식이 여러가지가 있는데 대표적으로 UTF8 UTF16
UTF8
UTF16
wchar_t wch = L'안';
cout << wch; // 50504 출력
// cout은 char 전용
wcout.imbue(locale("kor)); // 기본적으로 한국어를 인식 못하기 때문에 인식해달라고 힌트를 준다.
wcout << wch; // 안 출력
wchar_t wch = 0xc548; // L'안'
Escape Sequence
표기하기 애매한 애들을 표현
\0 = 아스키코드0 = NULL
\t = 아스키코드9 = Tab
\n = 아스키코드10 = LineFeed (한줄 아래로)
\r = 아스키코드13 = CarriageReturn (커서 <<)
(\r\n <- 엔터)
\'
문자열
문자들이 열을 지어서 모여 있는 것 (문자 배열)
정수 (1~8바이트) 고정 길이로
Ex) Hello World
끝은 NULL (0)
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0' };
char str2[] = "Hello World";
wchar_t str3[] = L"Hello World";