C언어에서는 컴파일러에 특정 작업을 지시하는 전처리기(preprocessor)를 제공한다. 보통 전처리기는 반복되는 값이나 작업을 미리 정의할 때 사용하며 컴파일 옵션 설정이나 조건부 컴파일도 가능하다.

 

#define은 컴파일 직전에 처리되므로 전처리기에 명령한다.

바뀐 코드는 전처리기 과정 때 임시로 생성될 뿐 원본 코드에 영향을 주지 않는다.

 

다음 코드를 살펴보자.

#include <stdio.h>
#define PI 3.14

float circle_area(float r)
{
    return PI*r*r;
}

int main()
{
    printf("%f",circle_area(4));
    
    return 0;
}

다음을 해석해보면 

#define PI 3.14

는 'PI는 3.14라는 것을 정의해준다' 이다.

 

이해하기도 쉽고 간단하며 유용한 방법이다. 실제 저런 변수값은 정말 많이 쓰이는 경우가 많은데 하나하나 지정해서 써준다기보다는 메크로로 지정하여 주는게 이해하기도 쉽고 사용하기도 편리하다.

*보통 define 매크로는 대문자로 지정해준다(약속이다).

 

특히 상수값(잘 변하지 않는값)을 표현할때 많이쓰인다. 물론 상수 뿐만아니라 Array도 지정해줄 수 있다. 

 

 

전체 흐름도

 

 

 

'Computer engineering > C' 카테고리의 다른 글

If-else 조건문  (0) 2021.04.21
If 조건문  (0) 2021.04.11
4. 대입 및 산술 연산자  (0) 2021.04.01
2. 수의 체계 -실수  (0) 2021.03.25
1. 수의 체계 -보수  (0) 2021.03.25

+ Recent posts