C 언어 - 상수의 종류 - 리터럴과 심볼릭 상수

컴퓨터/C

728x90
반응형

상수란?

프로그래밍에서 상수의 개념은 '직접적인 표현으로 의미가 변한 지 않는 값'이라고 말합니다. 

작성하는 소스코드에 상수들의 개념은 크게 리터럴 상수와 심볼릭 상수 2개로 나누어집니다. 이미 알고 있는 개념이고 사용하고 있는 개념일 수 있지만 용어를 익히는 것은 중요한 부분이기 때문에 다시 한번 정리해서 알아보도록 하겠습니다.

 

리터럴 상수(Literal constant)

프로그래밍을 공부하다 보면 리터럴 상수라는 말을 많이 들어봤을 것입니다. 이 리터럴 상수, literal의 사전적 의미는 문자 그대로, 정확한이라는 뜻을 가지고 있습니다. 직역해보자면 '문자 그대로 정확한 상수'를 리터럴 상수라고 말합니다. 

어떠한 간접적인 의미가 없는 직관적인 상수 그 자체를 의미합니다. 

// 여러 리터럴 상수의 예시 //

'A' // 문자 리터럴 상수
"안녕" // 문자열 리터럴 상수
100 // 정수 리터럴 상수

이런 식으로 소스코드 안에 직접적인 의미를 표현하는 것이 바로 리터럴 상수라고 합니다. 이런 리터럴 상수는 직관적이고 변하지 않지만 단 1번의 입력으로 1번의 표현만을 하는 한계가 있습니다.

 

심볼릭 상수(Symbolic constant)

심볼릭 상수는 프로그래밍 소스코드에서 어떠한 상수를 심벌화 즉, 상징적인 의미를 부여하여 사용하는 상수입니다. 

심볼릭 상수를 이용하면 직관성은 조금 떨어지지만 소스코드의 재사용성의 장점이 부여됩니다.

이런 심볼릭 상수를 사용하는 방법은 크게 두 가지가 있습니다.

 

const 키워드를 이용한 심볼릭 상수

const 키워드를 사용해서 변수를 상수화 시켜 사용하는 방법입니다. 변수를 선언할 때 const를 이용하여 불변의 값으로 만드는 역할을 하며 , 선언과 동시에 초기화를 해야 된다는 특징이 있습니다.

const int zero = 0 ;

const char* say = "하이";

 

전처리기를 이용한 심볼릭 상수

아직 전처리기에 대해서 다루지 않았지만, 전처리기 중 #define을 이용 한해서 상수를 심볼릭화 하여 사용할 수 있습니다.

매크로 심볼릭 상수라고도 불립니다.

#define ARRAY_MAX 50;
#define SIZE_MAX 100;

 이런 심볼릭 매크로를 이용할 때에는 보통 대문자로 표기합니다.

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :