상수는 프로그램에서 고정된 값을 나타내는 식별자이다. 상수는 프로그램 실행 도중에 변경할 수 없는 값으로 간주된다. 기본적으로 리터럴 상수와 심볼릭 상수로 나뉜다.
int number = 30 + 40;
연산을 위해서는 30, 40처럼 이름 없는 숫자들도 메모리 공간에 저장되어야 한다. 이렇게 저장된 값들을 리터럴 상수라고 한다. 그리고 리터럴 상수도 자료형이 결정돼야 메모리 공간에 저장될 수 있다는 점을 염두하고 자료형과 값이 호환되도록 작성해야 한다.
const int NUMBER_MAX = 100;
const는 상수임을 나타내는 예약어다. 상수는 한 번 할당되면 변경할 수 없으므로 const 키워드를 사용하여 명시적으로 선언한다. 상수는 변경할 수 없으므로 반드시 특정 값으로 초기화해야 된다. 그리고 상수명은 모두 대문자와 언더바만 사용하여 짓는 것이 관례이다.
float number = 7.1234f
위에서 언급했듯이 상수도 자료형이 결정되어야만 메모리 공간에 저장된다. 구분이 모호한 경우 컴파일 에러가 발생한다. 접미사를 통해 해당 상수의 자료형을 구분지을 수 있다.
접미사 | 자료형 | 사용 예시 |
---|---|---|
U | unsigned int | number = 1024U |
L | long | number = 1024L |
UL | unsigned long | number = 1024UL |
LL | long long | number = 1024LL |
ULL | unsigned long long | number = 1024ULL |
F | float | number = 2.56F |
L | long double | number = 2.56L |
. . .