'#if'에 해당되는 글 1건
- 2013.05.11 #if, #ifdef에 대한 이해
2013. 5. 11. 10:44
C언어를 공부하다보면
#if, #ifdef 같은 눈에 익지 않은 명령어가 나올 때가 있다. 이들은 무엇이냐.
이렇게 앞에 '#'이 붙은 친구들을 컴파일러 지시자라 하는데, 간단한 예시로 한번에 이해 하면 됩니다.
#if에 관한 코드입니다.#include
#define TRUE 1 #define FALSE 0 int main(){ #if TRUE printf("a"); #endif #if FALSE printf("b"); #endif }
이 지시자는 #if뒤에 상수가 참이면 #endif와의 사이에 있는 코드를 실행합니다.
즉, 위의 결과는 a만 나오겠지요.
다음은 #ifdef에 대해 알아봅시다.
벌써 예상하셨다시피 뒤에 def는 define에 약자인듯 하네요.
#include#define what 1 //#define wow 1 int main(){ #ifdef what printf("what"); #endif #ifdef wow printf("wow"); #endif }
#ifdef라는 친구는 '해당 상수가 선언 되있다면'으로 해석하시면 될 듯 하네요.
위에 코드에서 what은 선언 되있고, wow는 선언이 안되있으니 결과는 'what'이겠지요.