Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 문자 리터럴 완벽 정리: 개념, 종류, 이스케이프 시퀀스까지

문자 리터럴(character literal)은 프로그래밍에서 소스 코드 내에 단일 문자의 값을 표현하기 위해 사용되는 리터럴의 한 종류입니다.

C++에서 문자 리터럴은 하나의 상수 문자로 구성되며, 작은따옴표(')로 감싼 문자 형태로 표현됩니다. C++에서는 다음과 같이 두 가지 종류의 문자 리터럴을 제공합니다.

  • 좁은 문자(narrow-character) 리터럴char 타입, 예: 'a'
  • 와이드 문자(wide-character) 리터럴wchar_t 타입, 예: L'a'

문자 리터럴에는 그래픽 문자라면 어떤 문자든 사용할 수 있습니다. 다만 줄바꿈('\n'), 백슬래시('\\'), 작은따옴표('), 큰따옴표(")처럼 특별한 의미를 가진 예약 문자(reserved characters)는 그대로 쓸 수 없으며, 반드시 이스케이프 시퀀스(escape sequence)를 통해 지정해야 합니다.

주요 이스케이프 시퀀스

  • \n — 줄바꿈(newline)
  • \t — 수평 탭(tab)
  • \b — 백스페이스(backspace)
  • \\ — 백슬래시(backslash)
  • \' — 작은따옴표(single quotation mark)
  • \" — 큰따옴표(double quotation mark)
  • \0 — 널(null) 문자

예제 코드

#include <iostream>
using namespace std;

int main() {
    char newline = '\n';
    char tab = '\t';
    char backspace = '\b';
    char backslash = '\\';
    char nullChar = '\0';

    cout << "Newline character: " << newline << "ending" << endl;
    cout << "Tab character: " << tab << "ending" << endl;
    cout << "Backspace character: " << backspace << "ending" << endl;
    cout << "Backslash character: " << backslash << "ending" << endl;
    cout << "Null character: " << nullChar << "ending" << endl;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Newline character:  ending
Tab character:  ending
Backspace character:  ending
Backslash character: \ending
Null character:  ending

출력 결과에서 줄바꿈, 탭, 백스페이스, 널 문자는 화면에 눈에 보이는 형태로 나타나지 않는 제어 문자(control character)이기 때문에 해당 위치가 비어 있는 것처럼 보입니다. 반면 백슬래시는 이스케이프 시퀀스('\\')를 통해 실제 문자로 출력된 것을 확인할 수 있습니다.