Programming Language/C++

C++ - 문자형 데이터(char)

hustle_D 2025. 2. 17. 21:17
반응형

C++의 char형 데이터

C++에서 char 타입은 문자(character)를 저장하는 기본적인 자료형으로 char는 1바이트(8비트) 크기의 정수형으로, ASCII 코드 값(0~255)을 저장할 수 있다.

 

1. char는 문자 하나를 저장하는 정수형 타입

메인 함수 내부에서 char 변수에 'A'라는 문자를 저장하고 이를 아스키 코드로 뽑아보면

이렇게 숫자 값이 나온다.

이는 내부적으로 char가 정수(ASCII 코드 값)를 저장하기에 (int)ch로 변환하면 65가 출력되는 것이다.

즉, 'A' 같은 문자는 문자 그대로 저장되는 것이 아니라, 정수 65로 변환되어 메모리에 저장된다는 의미이다.

 

그래서 동일하게 char형 변수에 숫자를 넣어주면

이렇게 같은 결과를 출력하는 것을 볼 수 있다.

 

char ch = 'A'; 가 내부적으로 처리되는 과정

char ch = 'A';

C++에서 문자 리터럴('A')을 사용하면 컴파일 단계에서 컴파일러가 이를 정수 값(ASCII 코드 65)으로 변환한다.

 

char는 1바이트(8비트) 크기를 가지며, 정수 65를 2진수로 변환하여 저장하게 된다.

'A' → ASCII 코드 65 → 2진수 변환 → 01000001

 

그래서 단순하게 숫자를 char형으로 형변환 해주더라도

 

이렇게 값을 출력하는 것을 볼 수 있다.

 

 

2. 이스케이프 문자

이스케이프 문자(Escape Character)란, 특수한 의미를 가지는 문자를 나타내기 위해 백슬래시(\)와 함께 사용하는 문자이다.

일반적으로 출력할 수 없는 문자(예: 개행, 탭, 백스페이스) 또는 특수 문자를 표현할 때 사용된다.

 

 

사용할 만 한 이스케이프 문자

이스케이프 문자 설명
\n 개행 - 줄 바꿈
\t 탭(Tab) - 띄어쓰기 (보통 4~8칸)
\v 수직 탭(Vertical Tab) - 
\0 널 문자(Null Character) -  문자열 종료 표시
\xhh 16진수(헥사) ASCII 코드 - \x41 → A
\ooo 8진수 ASCII 코드 - \101 → A

 

보통은 자주 사용하는게 따로 정해져 있지는 않지만 문법과 겹치는 부분에서 필요한 내용들이 존재한다.

예를 들면 

 

이런식으로 큰 따옴표 내부에 큰따옴표를 넣고 싶다거나 std::endl없이 개행이 필요한 경우

 

 

이런식으로 사용하면 

이렇게 원하는 기능을 사용할 수 있게 해준다.

 

반응형