c언어 Literal constant / Symbolic constant
c언어 Literal constant / Symbolic constant
■ 상수란 변수와 달리 한 번 초기화한 값을 변경하지 못하는 데이터를 말합니다. 상수에는 이름이 있는 것과 그렇지 않은 것이 있는데요. 두 상수에 대해서 개념을 정리해보겠습니다. 먼저 이름이 있는 함수를 Symbolic 함수라고 하는데요. 이 상수를 표현하는 방법이 있는데..... 매크로를 이용하는 방법은 해당 진도 나갈 때 정리하기로 하고 이번 글에서는 const 키워드를 이용하는 방법을 알아보겠습니다. 방법이랄 것도 없어요. 변수를 선언할 때 const만 앞에 넣어주면 됩니다. 그리고 상수의 이름은 대문자를 사용하며.... 두 단어 이상의 조합으로 이루어질 경우 언더바(_)를 사용해서 구분하는 것이 통상적입니다.
const를 키워드를 붙여서 상수를 선언해보겠습니다.
const int AAA=100;
const double PI=3.1415;
▲ 예제처럼 앞에 const를 붙여주면 되고... 이렇게 선언된 변수의 값은 변경하지 못 합니다. 그리고 상수를 선언하면 바로 초기화를 해줘야 합니다. 만약 그렇지 않고 선어만 한다면 그 변수에는 쓰레기 값이 저장되는데요. 상수로 선언됐기 때문에 해당 쓰레기 값도 변경하지 못합니다. 그렇기 때문에 선언함과 동시에 초기화를 해줘야 합니다.
▲ 앞에서 언급한 대로 상수를 선언한 후 따로 초기화를 하려고 하니 컴파일 에러가 발생합니다. 꼭 선언과 동시에 초기화를 해야 합니다. 다음은 이름이 없는 상수인 Literal에 대해서 알아보겠습니다. 예제를 보면서 이름 없는 상수를 이해해보겠습니다.
▲ 예제에서는 연산자 우선순위에 의해서 10과 20을 더하고 그 값을 int형 변수 a에 대입하고 있는데요. 이 과정은 CPU가 진행하겠죠? 그렇다면 10과 20이라는 값을 CPU에게 알려줘야 하는데요. 즉 메모리상에 존재하고 있어야 하며 이 값은 상수입니다. 여기서 10과 20과 같은 값을 이름이 없는 Literal 상수라고 합니다.
이렇게 해서 이름이 있는 Symbolic constant와 이름이 없는 Literal constant에 대해서 알아봤습니다. 수고하셨어요.