IT이야기

C에서 부울 데이터형을 사용하는 방법

cyworld 2022. 5. 31. 07:48
반응형

C에서 부울 데이터형을 사용하는 방법

C에 코드를 쓰고 있었는데 부울/부울 데이터형이 없는 것으로 나타났습니다.부울/부울 데이터형을 반환하는 기능을 제공하기 위해 포함할 수 있는 C 라이브러리가 있습니까?

C99를 지원하는 컴파일러가 있다면

#include <stdbool.h>

그렇지 않으면 원하는 경우 직접 정의할 수 있습니다.사용하는 방법(및 코드를 C++로 컴파일 할 수 있는지 여부)에 따라 다음과 같이 간단하게 구현할 수 있습니다.

#define bool int
#define true 1
#define false 0

하지만 내 생각에, 넌 그냥 이 모든 것들을intfalse를 나타내려면 0을 사용하고 true를 나타내려면 0이 아닌 것을 사용합니다.그게 보통 C에서 하는 방법이야.

C99에는 실제로 부울 데이터형이 있지만 오래된 버전을 사용해야 하는 경우 유형을 정의하기만 하면 됩니다.

typedef enum {false=0, true=1} bool;

C99에는bool입력해 주세요.

#include <stdbool.h>

James McNellis의 답변 대신 항상 bool 유형에 매크로 대신 열거형을 사용하려고 합니다.typedef enum bool {false=0; true=1;} bool;컴파일러가 타입 체크를 할 수 있어 매크로 확장 레이스를 배제합니다.

C99 도입_Bool고유 순수 부울 유형으로 지정됩니다.아니요.#includes 필요:

int main(void)
{
  _Bool b = 1;
  b = 0;
}

진정한 C99(또는 그 이후) 준거 C 컴파일러에서는 위의 코드가 완벽하게 컴파일 됩니다.

여기에는 열거형을 사용할 수 있습니다.도서관은 필요 없습니다.예를들면

           enum {false,true};

의 가치.false값은 0 이 됩니다.true1이 됩니다.

struct Bool {
    int true;
    int false;
}

int main() {

    /* bool is a variable of data type – bool*/
    struct Bool bool;

    /*below I’m accessing struct members through variable –bool*/ 
    bool = {1,0};
    print("Student Name is: %s", bool.true);
    return 0;
}

언급URL : https://stackoverflow.com/questions/4159713/how-to-use-boolean-datatype-in-c

반응형