#define은 전처리기(Preprocessor)에서 처리하는 매크로(Macro) 중 하나입니다.
전처리기는 컴파일(Complie)하기 전에 처리됩니다.
기능은 특정 글자를 정해준 글자로 교체하는 간단 명료한 방식입니다.
예제를 보면 손쉽게 이해가 가능합니다.
똑같은 코드를 #define을 사용한 것과 안한 것으로 표현해 보겠습니다.
// #define 사용 #define verylong "abcdefghijklmnopqrstuvwxyz \n" int main(){ printf(verylong); printf(verylong); printf(verylong); printf(verylong); printf(verylong); return 0; }
// #define 사용 안함 int main(){ printf("abcdefghijklmnopqrstuvwxyz \n"); printf("abcdefghijklmnopqrstuvwxyz \n"); printf("abcdefghijklmnopqrstuvwxyz \n"); printf("abcdefghijklmnopqrstuvwxyz \n"); printf("abcdefghijklmnopqrstuvwxyz \n"); return 0; }
즉, 첫번째 코드가 전처리기를 거치면 두번째 코드의 모습을 띄게 됩니다.
그러므로 당연히 출력값은 동일합니다.
abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
'C언어' 카테고리의 다른 글
QPSK (0) | 2014.09.04 |
---|---|
BPSK (0) | 2014.09.03 |
리눅스 gcc 사용 방법(컴파일러) (0) | 2014.08.04 |
포인터(Pointer) 선언과 공백 (2) | 2014.08.04 |
메모리 영역에 사용되는 변수들의 접근범위(Scope)와 수명(Lifetime) (0) | 2014.08.04 |