C 프로그래밍 언어에서 여러 지시문은 프로그램 코드 부분의 선택적 컴파일을 제어합니다. 다음과 같습니다 -
- #만약
- #else
- #엘리프
- #endif
#if의 일반 형식 다음과 같습니다 -
#if constant_expression statement sequence #endif
#else는 C 키워드 else와 매우 유사하게 작동합니다.
#elif는 "else if"를 의미하고 if else-if 컴파일 체인을 설정합니다.
무엇보다도 #if는 코드를 "주석 처리"하는 대체 방법을 제공합니다.
예를 들어,
#if 0 printf("#d", total); #endif
여기서 컴파일러는 printf("#d", total);
를 무시합니다.#ifdef 및 #ifndef
#ifdef는 "정의된 경우"를 의미하며 #endif로 종료됩니다.
#indef는 "정의되지 않은 경우"를 의미합니다.
#undef
#undef는 이전에 정의된 정의를 제거합니다.
#줄
#line은 현재 컴파일된 코드의 줄 번호를 포함하는 __LINE__과 컴파일 중인 소스 파일의 이름을 포함하는 문자열인 __FILE__의 내용을 변경합니다. 둘 다 컴파일러에서 미리 정의된 식별자입니다.
#pragma
#pragma 지시문은 컴파일러에 다양한 명령을 제공할 수 있도록 하는 구현 정의 지시문입니다.
예시
다음은 #ifdef, #ifndef, #else 및 #endif를 보여주는 C 프로그램입니다. -
# include <stdio.h> # define a 10 void main(){ #ifdef a printf("\n Hello I am here.."); #endif #ifndef a printf("\n Not defined "); #else printf("\n R u There "); #endif }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
Hello I am here.. R u There