C++ Chapter 2.6 : 문자형 char type
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
Chapter2. 변수와 기본 자료형
문자형 char type
아스키 코드
- 1개의 여러 문자들을 정수에 대응시켜 놓은 것
- 아스키 코드에 따라
char
문자들은 내부적으로정수
에 대응되어 있다.- 65를 char로 출력하면 ‘A’출력
- (char)65 형변환하여 출력하면 ‘A’출력
- cf) C++ 스타일로는 char(65)
char c1(65);
cin >> c1;
cout << c1 << " " << static_cast<int>(c1) << endl;
cin >> c1;
cout << c1 << " " << static_cast<int>(c1) << endl;
- cin » c1;
- c1 변수는 1개의 문자를 받는 char 타입
- ‘abc’를 콘솔 입력해본다.
- ‘a’만 c1에 저장되고
- 1개의 문자만 받으므로
- ‘b’, ‘c’는 버퍼에 남아있게 된다.
- c1 변수는 1개의 문자를 받는 char 타입
- cout « c1 « ” “ « static_cast
(c1) << endl; - a 출력 , int 로 변환되 97 출력
- cin » c1;
- 콘솔 입력이 아닌 입력버퍼에 남아있던 ‘b’가 c1에 저장된다.
- ‘c’만 버퍼에 남아있는 상태
- cout « c1 « ” “ « static_cast
(c1) << endl; - b 출력, int로 변환되 98 출력
개행 문자 \n 와 endl 의 차이
\n
- char타입의 ‘문자’이다.
- 오로지 줄바꿈만 해준다.
- \n 뒤에 다른 문자들이 있어도 \n을 만나면 줄바꿈이 되며 뒤에 문자들은 버퍼에 남는다.
endl
- 줄바꿈 + 버퍼비우기
- 줄바꿈과 동시에 버퍼에 있는 모든 내용들도 출력한다. flush 기능도 하는 것.
- 버퍼에 있는 것들을 무조건 다 출력한 후 줄바꿈
- 따라서
\n
보다 느리다.- 버퍼 비우는 과정도 해야하니까.
- 여러줄 연속으로 출력할땐
\n
이 나을 수도 있다. 상황에 따라 다르지만 !
- 여러줄 연속으로 출력할땐
- 버퍼 비우는 과정도 해야하니까.
- 따라서
flush
- 버퍼 비우기
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기