더북(TheBook)

그러면 다음 두 변수의 차이는 무엇일까요? 똑같은 3일까요?

int a = 3;
char b = '3';

첫 번째 줄에서는 정수형 변수 a를 선언하고 정수 3을 저장했습니다. 두 번째 줄에서는 문자형 변수 b를 선언하고 문자 ‘3’을 저장하였습니다. 똑같은 3처럼 보이지만 서로 다른 자료형인 것이지요. 즉, 변수 a는 정수 숫자 3을 저장하고 있는 것이고, 변수 b3이라는 문자를 저장한 것입니다.

예를 들어 정수 3과 3을 더하면 당연하게 결과는 6입니다. 그러나 ‘3’이라는 문자와 ‘3’이라는 문자를 더한다면 무엇일까요? ‘3+3’은 문자 ‘33’이 됩니다. 프로그래밍 언어에서 문자와 문자를 더한다는 것은 문자와 문자를 붙인다는 의미이기 때문입니다.

참고로 int 자료형은 4바이트의 저장 공간이 할당되어 정수가 저장됩니다. 반면 문자를 저장하기 위한 자료형인 char는 1바이트의 저장 공간이 할당됩니다. 1바이트는 8비트이므로 1바이트가 저장할 수 있는 숫자의 개수는 28 = 256입니다. C 언어에서는 1바이트를 사용하여 문자를 저장하므로, 표현할 수 있는 문자의 개수는 256개입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.