2011. 3. 2. 23:10
#define으로 시작하는 전처리기 지시자(Preprocessor Directive)
:단순 치환 작업을 요청할 때 사용되는 지시자
(매크로 선언은 문장의 끝을 의미하는 세미콜론(;)을 붙여주지 않는다)
 #include <stdio.h>
 #define PI 3.1415
이때 PI는 마치 상수처럼 사용되고 있다. 따라서 이러한 PI를 매크로 상수라고 한다.

이런 매크로 상수를 이용하면 배열 선언도 가능하다.
 #include <stdio.h>
 #define NUM 10

 int main(void)
{
    int arr[num]={1,2,3,};

   ......
}


매크로를 이용한 함수의 구현
:함수의 기능을 하는 매크로 => 매크로 함수
 #define SQUARE(x)  x*x
 int a = SQUARE(2);
<매크로 함수의 이점>
1. 매크로 함수는 자료형에 독립적이다.
2. 실행 속도가 향상된다.
3. 함수의 크기가 작아야 함.

<매크로 함수의 단점>
함수의 구현이 까다롭고,
디버깅하기 어려우며,
구현하고자 하는 함수의 크기가 크다면 -> 프로그램의 크기가 커지게 됨.


##을 이용하면 토큰을 결합할 수있다.
#define CONCAT(a, b)  a ## b
Posted by Triany