'Programming/C/C++'에 해당되는 글 1건

  1. 2013.05.11 #if, #ifdef에 대한 이해
2013. 5. 11. 10:44

C언어를 공부하다보면

#if, #ifdef 같은 눈에 익지 않은 명령어가 나올 때가 있다. 이들은 무엇이냐.

이렇게 앞에 '#'이 붙은 친구들을 컴파일러 지시자라 하는데, 간단한 예시로 한번에 이해 하면 됩니다.


#include #define TRUE 1 #define FALSE 0 int main(){ #if TRUE printf("a"); #endif #if FALSE printf("b"); #endif }

#if에 관한 코드입니다.
이 지시자는 #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'이겠지요.





Posted by 나돌라