더북(TheBook)

5.7.4 불 값

C에서는 (Boolean)(불리언) 타입도 부호 없는 타입이다. 이 타입은 0과 1 중 하나만 값으로 갖고 음수는 가질 수 없다. 이 타입의 기본 이름은 _Bool인데, 지금은 옛날 버전으로 작성된 프로그램에 대한 하위 호환성을 보장하기 위한 용도로 사용된다. bool이란 이름과 falsetrue 상수는 stdbool.h를 인클루드해야만 쓸 수 있다. 아주 오래된 코드가 아니라면 _Bool보다는 bool이나 false/true를 사용하기 바란다.

개념을 확장해서 bool을 부호 없는 타입처럼 사용할 수 있다. 이 타입으로 선언한 변수에 값을 대입할 때는 TAKEAWAY 4.6에서 말한 모듈로(modulus) 규칙이 아니라 TAKEAWAY 3.1에서 말한 불 값에 대한 특수 규칙이 적용된다.

bool 변수가 필요한 경우는 드물다. 대입할 때 값이 항상 falsetrue가 되도록 보장할 때만 쓸모가 있다. C의 초기 버전에서는 불 타입이 없었을 뿐만 아니라, 숙련된 C 프로그래머 중 이 타입을 사용하지 않는 사람도 많다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.