C언어 역슬래시 n - ceon-eo yeogseullaesi n

저번 포스팅에서 서식문자에 대해
정리했는데요
이번 포스팅에서는
C언어 \n 외의 이스케이프 시퀀스들에
대해 알아볼께요.

이스케이프 시퀀스도 서식문자와 마찬가지로
printf 함수나 scanf 함수에서 쓰이는데요
\n을 많이 보셨을꺼에요.

C언어 \n이 뭔지
이스케이프 시퀀스가 뭔지
알아볼께요~

참고로 백슬래시는 글씨체가 뭔지에 따라
입력되는게 다르더라구요.
\와 백슬래시는 같은거에요!

이스케이프 시퀀스는 
상태를 바꾸는데에 쓰이는 일련의 문자열!
이라네요~
말이 조금 어렵네요.

간단히 얘기하자면
우리가 메모장에 글을 작성할때
글을 한줄에 쭉 작성하지 않고
엔터를 치거나 탭키를 이용해 줄을 바꾸고
띄어쓰기를 하잖아요?

프로그램에 글을 출력할때는
메모장에 쓸때 처럼 엔터키나
탭키를 눌러 줄바꿈을 할수 없으니
이스케이프 문자를 이용해서
줄을 바꾸고 탭을 한다고 생각하시면되요.

그러니까 이스케이프 시퀀스는
줄을 바꾸거나 탭을 하는 명령어라는거죠

그 명령어는 백슬래시(\)로 시작하는
명령어 이구요.

자 오늘도 표로 정리해봤어요.
사실 MSDN에 나와있는 표보고 배낀거라
줄바꿈과 가로탭은 저도 익숙한데요.
세로탭은 또 뭔지;;
나머지들은 전혀 익숙하지 않네요.ㅎㅎ

한번 출력해보면서 알아볼께요

1.\n(줄바꿈),\t(가로탭),\v(세로탭)

먼저 이스케이프문자를 아무것도
입력하지 않고 출력하면 이렇게
hello world! 바로 옆에
계속하려면 아무키나 누르라는
종료표시가 나오네요

C언어 \n을 hello world! 뒤에
추가해주면 저렇게 줄을 바꾼뒤
계속하려면 아무키나 누르라는
종료표시가 나와요.

그러니까 \n은 줄을 바꾸라는
명령어인거죠ㅎㅎ

가로탭 명령어인 \t를 추가하면
저렇게 탭만큼 칸을 띄우고
종료표시가 나오네요~
스페이스 바로 네칸 정도 되는거같아요 ㅎㅎ

세로탭 명령어인 \v를 추가해봤는데..
응?? 이거 뭐지요?
세로탭이라 그래서 줄을 몇칸 바꾸려나
싶었는데 이상한 문자가나오네요..

검색해보니 콘솔창에선 지원하지 않는
명령어라고 하네요 ㅎㅎㅎㅎ

2. \b(백스페이스), \r(캐리지리턴),\f(폼피드),\a(경고벨)

백스페이스 명령어 \b를 추가하면
느낌표(!)가 지워지고 출력되네요.

글을 입력할때 백스페이스를 누른것처럼
한칸 지우는건가보네요 ㅎㅎ

캐리지리턴은 한줄을 지우는 기능이라네요.
그래서 hello world를 줄을 바꾼 후에
다시 작성하고 캐리지리턴 명령어 \r을 추가했어요.

그랬더니 저렇게 캐리지리턴 붙은 부분은
지우고 첫번째 줄만 출력되네요.

캐리지리턴(\r)은 한줄을 지운다.
라고 기억하면 되겠네요 ㅎㅎ

폼피드 명령어인 \f를 추가했더니
세로탭을 한것 처럼 이상한 문자가 나왔어요.

폼피드는 프린터 제어시
다음페이지로 넘기기 위해 사용한다네요.
암튼 콘솔창이라 그런지 저렇게 나오네요.

경고벨 명령어 \a는
출력에 변하는건 없고
삐하고 소리가 나네요.

3. \'(작은따옴표),\"(큰따옴표),\\(백슬래시),\?(물음표)

출력을 더 잘 보기위해서
줄바꿈 명령어인 C언어 \n을 줄마다
추가했어요.

이스케이프 시퀀스 명령어를 사용해서
작은따옴표,큰따옴표,물음표를
위처럼 출력할수있어요.

그런데 큰따옴표를 제외한
작은따옴표와 물음표는
이스케이프 문자를 사용하지 않아도
출력할수 있답니다.

마지막으로 C언어 \n 외
이스케이프시퀀스 표에 
설명을 추가해서 정리해봤어요.

8진수와 16진수 표기법에 대해서는
어떻게 사용해야하는건지 잘 몰라
생략할께요.ㅜ
혹시 나중에 알게되면 다시 포스팅할께요

혹시 아시는분 있으면 댓글로
힌트 좀 부탁드립니다!

Toplist

최신 우편물

태그