1. #if는 if와 다르게 조건에 따라 소스코드를 삽입하거나 삭제하기 위해 사용되는 지시자이다.
// #if는 #endif로 닫아줘야 한다.
#include <stdio.h>
int main()
{
if(0)
{ // 일반 if조건은 괄호로 범위 지정
printf("실행되지는 않지만, 컴파일은됨 \n");
}
#if 0
printf("컴파일 자체가 안되 \n");
#endif
return 0;
}
2. #if는 0이 아닐 경우에 실행된다.
#include<studio.h>
#define NUM -3
int main(void)
{
#if NUM
printf("if: NUM is %d\n", NUM);
#else
printf("else: NUM is %d\n", NUM);
#endif
}
// if: NUM is -3
3. #if 와 #ifdef 두 지시어의 차이
#include <stdio.h>
#define HELLO 0
int main()
{
#ifdef HELLO
printf("HELLO is defined \n");
#endif
//#####################################
#if HELLO
printf("HELLO is True\n");
#else
printf("HELLO is False\n");
#endif
return 0;
}
#ifdef는 '만약 ~가 정의 되어 있다면'을 의미해서 #ifdef HELLO라고 한다면 HELLO가 true, false여부가 중요한 게 아니고 HELLO가 사전에 정의 되었느냐 안 되었느냐를 확인하는 용도이다.
4. #if 조건을 분기하는 #elif
조건을 계속 분기할 수 있는 else if와 같은 역할이 지사자에도 있는데 #elif가 그것이다.
#include <stdio.h>
#define NUM 2
int main(void)
{
#if NUM ==1
printf("NUM is 1\n");
#elif NUM ==2
printf("NUM is 2\n");
#elif NUM ==3
printf("NUM is 3\n");
#else
printf("NUM is %d\n", NUM);
#endif
return 0;
}
'AI(Artificial intelligence) > C,C++ Language' 카테고리의 다른 글
#1. C 언어 포인터 (0) | 2023.01.10 |
---|---|
#0. C언어 변수 선언 및 자료형 (0) | 2023.01.10 |
# 2. C언어 자주 쓰는 함수 (0) | 2023.01.10 |
C 프로그램 실행과정 (0) | 2023.01.08 |