C에서 부울 값 사용
오늘의 튜토리얼은 bool
, enum
, typedef
및 #define
을 사용하여 C 프로그래밍 언어에서 부울 값을 사용하는 방법을 보여줍니다.
C의 부울 값
bool
(부울 데이터 유형)은 기본적으로 C99 이상에서 사용할 수 있습니다. 이 데이터 유형을 사용하려면 stdbool.h
라이브러리를 포함해야 합니다. C99에서 기본 데이터 유형은 _Bool
로 알려져 있습니다.
반면 bool
은 stdbool.h
에 정의된 표준 라이브러리 매크로입니다. _Bool
데이터 유형의 개체는 1 또는 0을 포함하는 반면 true
및 false
는 stdbool.h
라이브러리의 매크로입니다.
이는 stdbool.h
가 C 프로그램에 포함되지 않는 한 C 전처리기가 #if true
를 #if 1
로 해석함을 의미합니다. 한편, C++ 전처리기는 기본적으로 true
를 언어 리터럴로 인식해야 합니다.
C에서 부울 값에 bool
유형 사용
예제 코드:
// library to use `bool`
#include <stdbool.h>
// library to use `printf()`
#include <stdio.h>
// main function
int main() {
bool variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
출력:
The value of 'variableX' is True
C99 이상이 있는 경우 _Bool
의 별칭인 bool
을 사용할 수 있습니다. bool
을 사용하려면 stdbool.h
라는 라이브러리(헤더 파일로도 지정됨)를 포함해야 합니다. 그렇지 않으면 오류가 발생합니다.
bool
유형을 사용하는 실제 예제로 위에 제공된 프로그램을 참조하십시오.
C에서 부울 값에 enum
사용
예제 코드:
// library to use `printf()`
#include <stdio.h>
// enum's declaration
typedef enum { false, true } boolean;
// main function
int main() {
boolean variableX = false;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
출력:
The value of 'variableX' is False
위에 제공된 코드 스니펫은 C89/90을 사용하거나 기본 bool
유형을 사용하지 않으려는 사용자를 위한 솔루션입니다. enum
함수를 사용하여 bool
유형을 만들 수 있습니다.
[enum
](Enumeration이라고도 함)은 정수 상수에 이름을 할당하는 데 사용되는 C 프로그래밍의 사용자 정의 데이터 유형입니다. 왜? 이름은 프로그램을 쉽게 읽고, 이해하고, 유지 관리할 수 있도록 합니다.
bool
유형의 새 이름을 생성하여 부울 값을 사용합니다. 이를 위해 유형에 새 이름을 지정하는 데 사용되는 typedef
키워드를 사용하고 있습니다.
위에 주어진 코드를 실행하면 하나의 enum
이 bool
유형으로 생성됩니다. 또한 enum
의 요소를 false
및 true
로 지정하십시오.
첫 번째와 두 번째 위치는 false
가 0을 보유하고 true
가 1을 보유합니다.
C에서 부울 값에 typedef
및 #define
사용
부울 값에 enum
을 사용하는 두 번째 접근 방식의 대안으로 다음 두 가지 방식으로 부울 값을 사용할 수 있습니다.
예제 코드 1:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// declare enum
enum { false, true };
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
예제 코드 2:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// define macros
#define true 1;
#define false 0;
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
두 코드 예제 모두 아래와 같은 결과를 생성합니다.
출력:
The value of 'variableX' is True
예제 코드 2에서는 C 프로그램에서 매크로를 정의하는 데 사용되는 전처리기 지시문인 [#define
](매크로 지시문이라고도 함)을 사용하고 있습니다.