26-1 전처리기에 의한 매크로 처리

- 일반적으로 말하는 컴파일은 전처리 과정이 포함되어 있다.

- 전처리 과정은 소스코드중 #이 붙은 문장을 처리하는 과정이다.

- #이 붙은 문장을 전처리기 지시자 라고 한다.

- #define이 붙은 문장은 단순 치환 작업을 요청할 때 사용하는 지시자이다.

#define PI 3.14
- PI는 매크로 상수이고, 3.14는 대체 리스트 라고 한다.

- 이미 선언된 매크로를 다른 매크로 선언에서 사용할 수 있다.
- 대체 리스트 영역에서는 공백도 존재할 수 있다.


26-2 매크로를 이용한 함수

#define SQUARE(x) x*x
- 위와 같이 선언된 SQUARE(x)를 매크로 함수 라고 한다.

- 매크로 함수는 자료형에 독립적이며, 실행 속도가 빠르다.

- 함수의 크기가 작아야 매크로 함수로 쓰기에 적당하다.

- 단순치환이므로 괄호를 사용하지 않을 경우, 연산자 우선순위에 의해 착오가 생길 수 있다.

- 매크로에 의한 치환은 문자열 내에서는 이루어지지 않는다.
- 대체 리스트의 앞에 #을 붙이면 문자열로 치환된다.

- 토큰이란 컴파일러가 인식하는 의미를 지니는 문자나 문자열의 최소 단위 이다.

- ##은 토큰을 결합할 때 사용한다.

 * 표준 매크로
_FILE_ : 현재 소스 코드의 파일명을 나타내는 문자열
_TIME_ : 컴파일 시각을 "시: 분: 초"의 형태로 나타내는 문자열
_DATE_ : 컴파일 날짜를 "년 월 일"의 형태로 나타내는 문자열
_LINE_ : 현재 처리중인 소스파일의 행 번호를 나타내는 문자열


'학부 전공 > C' 카테고리의 다른 글

27. 모듈화 프로그래밍  (0) 2010.07.16
25. 메모리 관리와 동적 할당  (0) 2010.07.16
24. 파일 입출력  (0) 2010.07.16
23. 구조체와 사용자 정의 자료형 2  (0) 2010.07.15
22. 구조체와 사용자 정의 자료형  (0) 2010.07.15

+ Recent posts