ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기호 상수(#define & const)
    C 2023. 2. 4. 18:58

    #define

    보통 상수에는 변수와는 달리 이름이 존재하지 않는다.

    하지만 상수에도 이름을 붙일 수 있는 방법이 있는데 이는 "기호 상수(symbolic constant)"이다.

     

    #define EXCHANGE_RATE 1120

    위 코드가 현재의 환율 1120을 기호 상수 EXCHANGE_RATE로 표현한 코드이다.

    보통 #define 문장은 프로그램의 맨 첫 부분에 쓰는데, 이들은 전처리기(preprocessor)가 처리한다.

    전처리기는 코드에서 EXCHANGE_RATE를 전부 찾아서 1120로 바꾸는 역할을 한다.

     

    기호 상수는 리터럴 상수(상수 값을 그대로 쓰는 방법)에 비하여 몇 가지의 장점을 지닌다.

    1) 기호 상수를 사용하면 프로그램을 읽기가 쉬워진다. (위 코드를 예시로 EXCHANGE_RATE가 무엇을 의미하는지 쉽게 알 수 있다)

    2) 동일한 상수를 여러 곳에서 사용하고 있는 경우에, 상수 값의 변경을 쉽게할 수 있다. (위의 예시에서 환율이 1050으로 변경되었다고 가정하면 바뀌기 전 환율이 담긴 모든 코드를 찾아서 값을 변경해야한다. 하지만 기호 상수를 사용했다면 기호 상수의 정의만 변경해주면 된다.)

    won = 1120 * dollar; 		// (1) 실제의 값을 사용
    won = EXCHANGE_RATE * dollar    // (2) 기호상수 사용

     

    const

    const는 기호상수를 만드는 또 하나의 방법이다.

    변수 선언 앞에 const를 붙이면 상수가 된다. const는 "constant"의 약자로서 변경되지 않는다는 의미를 지닌다.

    const int EXCHANGE_RATE = 1120;

    여기서 const와 #define과의 차이점은 const로 선언된 변수는 딱 한번만 값을 저장할 수 있다는 점이다.

    'C' 카테고리의 다른 글

    정수를 입력받은 후 문자를 입력받을 때  (0) 2023.02.06
    아스키 코드로 출력하는 방법  (0) 2023.02.06
    형식 지정자의 종류  (0) 2023.02.04
    오버플로우  (0) 2023.02.04
    unsigned 수식자  (0) 2023.02.04
Designed by Tistory.