1. char (알파벳, 숫자, 문자), 1바이트

ASCII(American Standard Code for Information Interchange)

char ch = 97;
// output : a

 

 

문자의 의미로 작은 따옴표를 사용함.

char ch2 = 'a';
char ch3 = '1'; // 문자 1을 표현함
char ch4 = 'a' + 1; // 97 + 1 = 98번 문자를 표현함
//output : a 1 b

 

2. wchar_t (유니코드), 1~3바이트

전 세계 모든 문자에 코드를 부여함.

UTF-8과 UTF-16을 주로 사용함.

 

(1) UTF-8

알파벳, 숫자를 1바이트로 표현(아스키 코드와 동일한 번호를 사용)

유럽 지역의 문자를 2바이트로 표현

한글, 한자 등의 문자는 3바이트로 표현

 

(2) UTF-16

대부분의 문자를 2바이트로 표현

예외적인 고대 문자만 4바이트로 표현(사실상 무시해도 됨)

 

wchar_t wch = L'안';
cout << wch << endl;
// output : 50504
wcout.imbue(locale("kor")); // 한국 로케일 지정
wcout << wch << endl;
// output : 안

3. Escape Sequence

: 표기하기 애매한 것을 표현하기

(TAB, SPACE 등)

// \t = TAB
// \n = 줄넘김
// \r = 커서를 맨 앞으로 옮김

백슬래시와 조합하여 나타낼 수 있다.

 

4. 문자열

: 문자가 열을 지어서 모여 있는 것

'\00'인 NULL이 마지막에 들어가 있어야 함.

int main()
{
char str[] = { 'h', 'e', 'l', 'l', 'o' };
cout << str << endl;
// output : hello뷁쉛맓볽?삵
}

-------------------------------------------
int main()
{
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0' };
cout << str << endl;
// output : hello
}

- 일반적인 사용

char str2[] = "Hello World";
// 끝에 자동으로 NULL을 잡아줌.
wchar_t str3[] = L"Hello World";
// 유니코드