컴퓨터는 문자를 어떻게 표현할까?
컴퓨터는 모든 것을 숫자로 표현한다는 것을 우리는 알고 있다.
문자도 역시 숫자로 표현한다 .
ex) A = 65 , B = 66
모든 사람들 사이에 문자 데이터를 서로 교환할 수 있으려면 어떤 공통적인 표준 규격이 있어야 한다.
아스키(ASCII: American Standard Code for Information Interchange)라고 불리는 규격이 존재한다.
문자 변수와 문자 상수
문자가 정수료 표현되므로 정수로 저장할 수 있는 자료형은 문자도 저장할 수 있다.
프로그램에서 문자를 저장하려면 char형의 변수를 선언하면 된다.
char code;
만약 변수 code에 문자 A를 저장하려면 어떻게 해야할까? 문자는 아스키 코드로 표현되므로 65를 대입하면 될 것이다.
code = 65;
하지만 아스키 코드값을 외우기 힘들기 때문에 C언어 에서는 작은 따옴표를 사용해서 문자를 저장할 수 있다.
code = ' A ';
작은 따옴표로 감싸진 문자를 문자 상수라고 한다.
컴파일러가 작은 따옴표로 감싸진 문자 상수를 만나면 이것을 아스키 코드로 변환한다.
제어 문자
아스키 코드표에는 제어 문자들도 함께 정의되어 있다.
그렇다면 이들도 작은 따옴표를 붙여서 문자 상수를 만들 수 있을까 ?
제어 문자들은 출력할 수 없기 때문에 불가능하다.
//제어 문자들을 프로그램 안에서 표현하는 몇가지의 방법.
가장 간단한 방법은 그냥 해당 아스키 코드 값을 직접 사용하는 것이다.
char beep = 7;
printf("%c" , beep);
더 쉬운 방법은 특수 문자열을 이용해서 표현하는 방법이다.
특수 문자열은 역슬래시(\)와 의미를 나타내는 한글자를 붙여서 기술된다.
우리가 사용하던 \n 문자가 바로 특수 문자열이다.
char beep = '\a';
printf("%c" , beep);