실행해 보면 C 언어가 발표된 연도가 1972라고 나옵니다. 이 코드에서 변수 YEAR 값을 1973으로 바꾸는 코드를 추가했다고 합시다. 그러면 C 언어가 발표된 연도가 1973으로 바뀌어 출력되죠. 코드상으로는 아무런 문제가 없습니다. 그러나 C 언어가 발표된 연도를 바꿀 순 없으니 이렇게 코드를 작성하면 안 되겠죠.
이럴 때 사용하는 게 바로 상수입니다. 변수를 만들 때 앞에 const라고 적어서 이 값이 상수라는 것을 컴퓨터에 알려 줍니다.
2.3 상수.c
#include <stdio.h>
int main(void) {
const int YEAR = 1972; // 상수
printf("C 언어가 >발표된 연도 : %d\n", YEAR);
YEAR = 1973;
return 0;
}
앞의 코드처럼 변수 YEAR 앞에 const를 넣으면 YEAR 값을 1973으로 바꾸는 코드에서 YEAR에 빨간 줄이 생깁니다. 이 상태로 실행하면 오류가 발생하고 실행되지 않습니다. 빨간 줄이 생긴 YEAR에 마우스 커서를 가져가 보면 ‘식이 수정할 수 있는 lvalue여야 합니다.’라는 메시지가 나옵니다.
TIP lvalue는 left value, 즉 = 왼쪽에 있는 변수 YEAR를 가리킵니다.