프로그래밍[Univ]/C언어

[C언어] 선행처리자 Preprocessor

Cloud Travel 2008. 7. 15. 15:10
1. 선행처리자의 역활
 1) 단순한 문자열의 치환
 2) 다른 파일의 내용을 첨가
 3) 컴파일러에게 컴파일 조건 부여
 4) 컴파일러에게 정보를 제공

2. 매크로 상수
 1) 문법
  #define 매크로상수 치환할 문자열
 2) 주의점
  ⓐ 선행처리자 명령 뒤엔 ; 세미콜론을 붙여주지 않는다.
  ⓑ 두 행에 걸쳐서 선행처리자가 명령을 기술 할 때에는 행의 끝에 '\'가 있어야 한다.

3. 매크로 함수
 1) 문법
  #define 매크로함수 함수내용
 2) 주의점
  단순 치환 때문에 발생할 수 있는 부작용에 주의
   > 괄호를 잘 이용해준다.

4. #include
 1) #include<headername> 표준디렉토리에서 해당 해더파일을 찾는다.
 2) #include"headername"   현재디렉토리에서 해당 해더파일을 찾는다.
   해더파일 > 확장자 h가 붙어있다.

5. #undef
 #define으로 정의 된 것을 취소 시켜준다.

6. 선행조건처리문
 1) #if 조건 > if문의 역활과 비슷하며 조건을 일치하면 문안에 있는 내용을 적용한다.
 2) #elif 조건 > if else문의 역활과 비슷하며 조건을 일치하면 문안에 있는 내용을 적용한다
 3) #endif > if문의 종료를 알려준다.
 4) #ifdef name > name이 define으로 정의 되있으면 컴파일을 실행한다.
 5) #ifndef name > name이 define에 정의 되어 있지 않다면 컴파일을 실행한다.