안녕하세요. 오늘은 전처리기 #define, #if, #ifdef, #ifndef에대해 알아보겠습니다.
먼저 전처리기란 컴파일 하기 전에 #가 붙은 코드를 지정해놓은 코드로 변경하는 일입니다. 사용자가 직접 할 필요 없고 자동으로 해줍니다
#define
#define란 값을 치환해 주는 것입니다. 예를 들어 절대 안 변하는 파이값 PI=3.14라고 하였을 코드내에서 int PI=3.14라고 해놨다면, 사용자가 실수로 PI=300 이런식으로 할 수 있는데, 이런것을 방지해줍니다. 또한 공통의 값이 들어갈때 #define을 사용할 수 있습니다.
#if
#if는 if문과 기능이 같습니다. 그러나 #define에 정의된 값이 integral type이여야만 합니다.
해당하지 않는 문장은 연해진 것을 볼 수 있습니다.
#ifdef
#ifdef는 일반적으로 잘 사용하지 않는데 헤더파일에보면 많이 나와있습니다. #ifdef는 어떤 변수가 #define되있는지 알아보는 기능입니다.
이 기능은 헤더파일에서 많이 볼 수 있는데 c++에서 c의 라이브러리를 사용할 때 사용합니다.
1 2 3 4 5 6 7 8 9 10 | #ifdef __cplusplus extern "C" { #endif //C함수 선언 #ifdef __cplusplus } #endif | cs |
#ifndef
#ifndef는 #ifdef와 반대로 정의되어있지 않으면 발생하는 전처리기입니다.
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 공용체(union)에 대해 알아보기입니다. (0) | 2017.09.13 |
---|---|
C언어 열거형(enum)알아보기 입니다. (3) | 2017.09.12 |
매개변수(Parameter,파라미터),전달인자(Argument,아규먼트)란? (2) | 2017.09.01 |
C언어 구조체 자료형의 크기(패딩비트) (0) | 2017.08.17 |
C언어 구조체 사용하기. (0) | 2017.08.16 |