더북(TheBook)

'a' 정수형 문자 상수(integer character constant)C: 'a''?'처럼 문자를 아포스트로피(')로 묶어서 표현한다. 이런 문자마다 C 표준에서 암묵적으로 정해둔 값이 있다. 예를 들어 'a'라고 표현하면 이는 라틴 알파벳 a라는 문자에 대응되는 정수형 코드로 정해진다.

이러한 문자 상수에서 \ 문자는 특별한 의미가 있다. 예를 들어 앞에서 나온 '\n'은 줄바꿈 문자(newline character)를 의미한다.

"hello" 스트링 리터럴(string literal)C: printfputs 함수 등에서 텍스트를 지정하는 데 사용된다. 문자 상수와 마찬가지로 \ 문자는 특별한 의미가 있다.3

이 목록에서 스트링 리터럴을 제외하면 모두 숫자를 지정하는 숫자 상수(numerical constant)4. 스트링 리터럴만 예외로 숫자 상수가 아닌데, 이는 컴파일 시간에 결정되는 텍스트를 지정할 때 사용한다. 스트링 리터럴을 청크 단위로 자르는 기능 덕분에 긴 텍스트를 간편하게 코드에 넣을 수 있다.

puts("first line\n"
     "another line\n"
     "first and "
     "second part of the third line");

TAKEAWAY 5.18 스트링 리터럴을 연달아 적으면 하나로 연결된다.

숫자 리터럴에 적용되는 규칙은 좀 복잡하다.

TAKEAWAY 5.19 숫자 리터럴은 절대 음수가 될 수 없다.

 

 


  3 printf 함수에서 사용하는 % 문자도 특별한 의미가 있다. 그래서 %이란 리터럴을 printf로 출력하려면 %%와 같이 지정해야 한다.

 

  4 여기에 빠진 복소수에 대해서는 5.3.1절에서 소개한다.

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