문자형(char
)은 C++에서 문자를 표현하는 기본 타입으로, 내부적으로는 정수로 처리됩니다. 보통 1바이트 크기를 가지며, ASCII 코드표를 사용하여 문자와 정수를 상호 변환할 수 있습니다.
char
타입은 문자를 표현하는 데 사용되며, 내부적으로는 정수형으로 처리됩니다.ASCII (American Standard Code for Information Interchange)는 7비트로 표현 가능한 문자표로, 제어 문자와 출력 가능한 문자로 구성됩니다.
문자 | ASCII 값 |
---|---|
'a' | 97 |
'A' | 65 |
'0' | 48 |
' ' | 32 |
'\n' | 10 |
이스케이프 시퀀스는 특정 문자를 표현하기 위해 백슬래시(\
)를 사용하는 방법입니다. 주로 다음과 같은 시퀀스가 사용됩니다:
\n
: 새 줄\t
: 탭\b
: 백스페이스\a
: 경고음\'
: 작은따옴표\"
: 큰따옴표\\
: 백슬래시 자체#include <iostream>
using namespace std;
int main()
{
{
// "Hello World", 문자열 출력
cout << "Hello World" << endl;
}
{
// 'h', 문자 출력
cout << 'h' << endl;
}
{
// 문자와 정수의 관계
char ch = 'a';
cout << ch << endl; // 'a' 출력
char ch0 = 'a'; // 문자 'a'를 할당
char ch1 = 97; // 정수 97을 할당, 이는 'a'와 동일
cout << "ch0 : " << ch0 << endl; // a
cout << "ch1 : " << ch1 << endl; // a
// 문자를 정수로 출력
cout << "ch0 : " << (int)ch0 << endl; // 97
cout << "ch1 : " << int(ch1) << endl; // 97
// 정수를 문자로 출력
cout << (char)97 << endl; // a
cout << 97 << endl; // 97
}
{
// 문자의 크기
cout << "sizeof(char) : " << sizeof(char) << endl; // 1
}
{
// 이스케이프 시퀀스
cout << "New Line" << endl;
cout << "Hello World";
cout << '\n'; // 새 줄
cout << "Hello World" << endl << endl;
cout << "Tab" << endl;
cout << "Hello World";
cout << '\t'; // 탭
cout << "Hello World" << endl << endl;
cout << "Backspace" << endl;
cout << "Hello World";
cout << '\b'; // 백스페이스
cout << "Hello World" << endl << endl;
cout << "Audio" << endl;
cout << "Hello World";
cout << '\a'; // 경고음
cout << "Hello World" << endl << endl;
cout << "Single Quotation Mark" << endl;
cout << "Hello World";
cout << '\''; // 작은따옴표
cout << "Hello World" << endl << endl;
cout << "Double Quotation Mark" << endl;
cout << "\"Hello World\""; // 큰따옴표
cout << "Hello World" << endl << endl;
cout << "Hex" << endl;
cout << '\x61'; // 16진수로 'a'
cout << endl << endl;
cout << "Oct" << endl;
cout << '\141'; // 8진수로 'a'
cout << endl << endl;
}
{
// MultiCharacter Literal - 사용 주의, 표준이 아님
char ch = 'ab'; // 'ab'는 다중 문자 리터럴로 표준이 아님
int num = 'ab';
cout << ch << endl; // 출력되지 않음
cout << num << endl; // 25185 (문자 'a'와 'b'의 결합된 값)
}
}
문자형 변수의 선언 및 초기화:
char
타입을 사용하여 문자를 저장할 수 있습니다. 내부적으로는 정수형으로 처리됩니다.char ch = 'a';
와 같이 문자 리터럴을 할당할 수 있습니다.문자와 정수의 관계:
char
타입의 문자는 내부적으로 ASCII 코드 값으로 저장됩니다.char ch = 'a';
는 char ch = 97;
과 동일한 결과를 가집니다.(int)ch
를 사용하여 문자의 ASCII 값을 확인할 수 있습니다.문자의 크기:
sizeof(char)
는 1바이트입니다.이스케이프 시퀀스:
\n
, \t
, \b
, \a
, \'
, \"
, \\
등의 이스케이프 시퀀스가 있습니다.다중 문자 리터럴:
'ab'
는 두 문자 'a'와 'b'를 결합한 정수 값으로 처리됩니다.