Language/C

[ C ] 상수(Constant)

곽수진 2021. 9. 13. 19:13
반응형

상수

프로그램에서 값이 변경되지 않는 요소

 

  • 리터럴 상수(literal constant) : 이름 없는 상수

      소스 코드에서 직접 사용되는 값

      ex ) 3.14

      → 원주율의 값

 

  • 기호 상수(symbolic constant) : 이름 있는 상수

      - 숫자만 입력했을 때보다 프로그램 이해도가 좋아짐

      - 오류 발생시, 프로그램 수정하기가 쉬움

 

      ex ) PI

      → 원주율 값(특정 값) 하나만을 대신하는 표현

 

 

      - 매크로 상수: 전처리 과정에서 이루어짐

        → 전처리기가 매크로 상수를 특정 값으로 대치

 

      #define 매크로명 값

 

      Ex)

#define PI 3.141592
#define GREETING "hello"

 

 

      - const 변수(const 상수) : 컴파일러 과정에서 이루어짐

        → 값을 변경할 수 없는 변수( constant : 상수화 시킴 )

 

const 데이터형 변수명 = 초기값;

 

      Ex)

const int buf_size = 256;
const double pi = 3.141592;

 

★ const 변수의 값은 중간에 대입 연산자로 변경이 불가능함 ★

 

 

매크로 상수와 const 상수를 활용해 이름과 나이를 출력해보자.

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define NAME "홍길동"

int main(void){

    const int AGE = 25; 

    printf("이름: %s 나이: %d\n", NAME, AGE);

    return 0;
}

 

결과값 출력 모습

#define NAME "홍길동" : 매크로 상수로 이름 입력

const int AGE = 25;  : const 상수로 나이 입력

반응형