#include <stdbool.h> 구문으로 bool을 사용할 수 있다.

#include <stdbool.h>#include <stdio.h>int main(void)
{
    bool flag = false;
    printf("%d\\\\n", flag);

    flag = !flag;

    printf("%d\\\\n", flag);

    return 0;
}

내부 구현을 보면 bool이 _Bool로 define됐는 걸 볼 수 있다. 이 _Bool은 C99때 추가된 것이다.

true와 false는 C언어 문법 그대로 1과 0을 채택하고 있는 것을 볼 수 있다.

int a = 0;

라면

bool a = false; 라고 작성할 수 있다.

bool은 개발자가 코드를 읽고 쓰기 더 편하게 만들어줘서 좋은 것 같다.

이게 끝이 아니다.

sizeof 함수를 사용해서 bool(_Bool)과 int의 자료형 크기를 출력해보면 int는 4, bool은 1byte라는 것을 알 수 있다.

printf("%d\\\\n", sizeof(bool));// 1printf("%d\\\\n", sizeof(int));// 4