본문 바로가기

C언어

매크로(macro) #define

 #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