C에서 bool타입은 어디에 정의되어 있나요?

발생하는 문제 및 실행환경

C에서는 boolean타입을 어떻게 쓰나요? bool이나 true, false 전부 빨간 줄이 뜨던데 C에는 그럼 1/0으로 다 해결해야 되나요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    C에서는 bool타입이 없어서 스스로 정의해서 써야 합니다. 보편적으로 쓰이는 3가지를 소개해드리겠습니다

    방법1

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

    방법2

    typedef int bool;
    enum { false, true };
    

    방법3

    typedef enum { false, true } bool;
    

    방법4(C99에서만 쓸 수 있음)

    #include <stdbool.h>
    

    이 중에서 아무거나 골라 쓰세요 개인적으로는 4는 C99에서만 쓸 수 있기 때문에 별로고, 2,3이 #define을 안 쓰기 때문에 더 좋은 방법이라고 생각합니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.