C에서 부울 값 사용

Mehvish Ashiq 2023년10월12일
  1. C의 부울 값
  2. C에서 부울 값에 bool 유형 사용
  3. C에서 부울 값에 enum 사용
  4. C에서 부울 값에 typedef#define 사용
C에서 부울 값 사용

오늘의 튜토리얼은 bool, enum, typedef#define을 사용하여 C 프로그래밍 언어에서 부울 값을 사용하는 방법을 보여줍니다.

C의 부울 값

bool(부울 데이터 유형)은 기본적으로 C99 이상에서 사용할 수 있습니다. 이 데이터 유형을 사용하려면 stdbool.h 라이브러리를 포함해야 합니다. C99에서 기본 데이터 유형은 _Bool로 알려져 있습니다.

반면 boolstdbool.h에 정의된 표준 라이브러리 매크로입니다. _Bool 데이터 유형의 개체는 1 또는 0을 포함하는 반면 truefalsestdbool.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 키워드를 사용하고 있습니다.

위에 주어진 코드를 실행하면 하나의 enumbool 유형으로 생성됩니다. 또한 enum의 요소를 falsetrue로 지정하십시오.

첫 번째와 두 번째 위치는 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](매크로 지시문이라고도 함)을 사용하고 있습니다.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook