본문 바로가기
프로그래밍 언어/C

[C언어] 상수 (리터럴상수 / 심볼릭상수)

by 느링 2017. 6. 12.

상수

 

어떤 상황에서도 변한지 않는 값을 의미한다. ( 중간에 값이 바뀔 염려가 없다.)

(변수 : 값이 변한다. / 상수 : 값이 변하지 않는다.)

리터럴 상수 ( 문자 그대로 ) : 글자 그대로의 의미가 있어서 이름이 없는 상수

정수형 상수, 실수형 상수, 문자 상수, 문자열 상수

심볼릭 상수 ( 기호화 ) : 상수를 기호화하여 변수처럼 이름이 있는 상수

const키워드

ex) const int NUM = 10;

     const double PI = 3.14;

#define문

ex) #define PI 3.14

     #define NUM 100

#은 전처리기여서 main 안에 들어가기 전에 프로그램을 돌리는 것입니다. (=전처리기야 정의해줘)

그래서 #define문은 main{ }안에 들어가는 것이 아니라 main 위에 써주는 것입니다.

 

#define문 practice

→ 실행결과

 → #define문 이용해 만들어보기

 #define을 쓰고 이름과 그 이름에 맞는 값을 써줍니다.

그리고 #define문에서 저장한 상수변수의 이름을 main에 출력하고 싶은 값에 써주시면

그곳에 저장되었던 값이 출력됩니다.

 

이처럼 심볼릭 상수는 여러 군데에 쓰일 값을 상수에 저장하여 간단하게 불러올 수 있는 형식으로 많이 쓰입니다.

만약 20이라는 숫자를 100군데에 필요해서 심볼릭을 만들었는데

나중에 그 숫자를 30으로 바꿔야 하는 일이 생길 때 심볼릭으로 만든 숫자를 30으로 고쳐주면

100군데에 20이라는 숫자가 30으로 손쉽게 바꾸어집니다.

많은 숫자들을 한 번에 고쳐주기에 유용한 상수인 것 같습니다.

 

** 또한 상수변수의 이름을 만들 때에 그냥 변수와 상수변수를 구분하기 위해 상수변수의 이름을

모두 대문자로만 작명해야 합니다.

 

 

 

 

 

 

 

'프로그래밍 언어 > C' 카테고리의 다른 글

[C언어] 형 변환, typedef  (0) 2017.06.13
[C언어] sizeof, unsigned / signed  (0) 2017.06.13
[C언어] scanf( )함수  (0) 2017.06.07
[C언어] 비트 연산자  (0) 2017.06.07
[C언어] 변수, 연산자  (0) 2017.05.26