상수는 사용자 언어 프로그램에 작성된 리터럴 데이터 항목입니다. 다른 데이터 유형에 따라 상수의 유형도 다릅니다.
문자 상수는 다음과 같이 작은따옴표로 묶은 escape 시퀀스 또는 단일 문자로 구성됩니다.
'a'
'='
'\n'
문자 상수의 유형은 char
입니다.
첫 번째(및 아마도 두 번째) 문자에 따라 정수 상수가 다른 기수 값으로 표현된다고 가정합니다.
first | second | 상수가 해석되는 값 |
0 | 1-7 | 8진수(기수 8) |
0 | x,X | 16진수(기수 16) |
1-9 | 10진수(기수 10) |
정수 상수의 유형은 int입니다.
16 | 10진수 |
020 | 8진수 |
0x10 | 16진수 |
실수 상수는 다음과 같은 일반 패턴을 따릅니다.
[-]int.frac[e|E[±]exp]
이 패턴은 다음을 의미합니다.
10진수 정수 또는 소수 부분 중 하나만 생략할 수 있습니다. 소수점 또는 문자 e 또는 E와 부호 있는 정수 지수 중 하나만 생략할 수 있습니다.
실수 상수의 유형은 real
입니다.
균일 | 값 |
---|---|
23.45e6 | 23.45 x 10^6 |
.0 | 0.0 |
0. | 0.0 |
1. | 1.0 |
-1.23 | -1.23 |
2e-5 | 2.0 x 10^-5 |
3E+10 | 3.0 x 10^10 |
.09E34 | 0.09 x 10^34 |
문자열 상수는 다음과 같이 큰따옴표로 묶은 일련의 문자 또는 escape 시퀀스로 구성됩니다.
"Hello world\n"
문자열 상수의 유형은 string
입니다.
문자열 상수는 임의 길이일 수 있습니다(사용 가능한 메모리가 충분한 경우). 문자열 상수는 단순히 나란히 써서 보다 큰 문자열을 형성하는 방식으로 연결될 수 있습니다.
string s = "Hello" " world\n";
또한 백슬래시(\
)로 새 행 문자를 이스케이프하여 문자열 상수를 2개 이상의 행으로 확장할 수도 있습니다.
string s = "Hello \
world\n";
escape 시퀀스는 백슬래시(\
)와 하나 이상의 특수 문자로 구성됩니다.
시퀀스 | 값 |
---|---|
\a |
경보음 |
\b |
백스페이스 |
\f |
폼 피드 |
\n |
새 행 |
\r |
캐리지 리턴 |
\t |
수평 탭 |
\v |
수직 탭 |
\\ |
백슬래시 |
\' |
작은따옴표 |
\" |
큰따옴표 |
\O |
O = 최대 3자리 8진수 |
\xH |
H = 최대 2자리 10진수 |
이 리스트에 언급되지 않은 초기 백슬래시 뒤에 오는 모든 문자는 백슬래시 없는 문자로 취급됩니다.
escape 시퀀스는 문자 상수 및 문자열 상수에 사용할 수 있습니다.
'\n'
"A tab\tinside a text\n"
"Ring the bell\a\n"