표준 라이브러리 헤더 <stdbool.h>
표준 라이브러리 헤더 <stdbool.h> (C99)(C23에서 폐기)
C에는 진리값을 나타내는 _Bool 타입이 있어요. 그런데 _Bool이라는 밑줄이 붙은 이름은 평소에는 조금 낯설죠. <stdbool.h>는 불리언 타입을 위한 편의 매크로를 제공하는 헤더예요. 덕분에 bool, true, false라는 친숙한 이름으로 참/거짓을 표현할 수 있어요.
출처: cppreference
본문
매크로(Macros)
| 매크로 | 설명 |
|---|---|
bool |
(C99)(C23에서 제거) _Bool로 확장되는 편의 키워드 매크로 |
매크로 상수(Macro constants)
| 상수 | 설명 |
|---|---|
true |
(C99)(C23에서 제거) 정수 상수 1로 확장 |
false |
(C99)(C23에서 제거) 정수 상수 0으로 확장 |
__bool_true_false_are_defined |
(C99)(C23에서 폐기) 정수 상수 1로 확장 |
시그니처(Synopsis)
#if __STDC_VERSION__ < 202311l
#define bool _Bool
#define true 1
#define false 0
#endif
#define __bool_true_false_are_defined 1
C23부터는 bool, true, false가 키워드 자체가 되면서 이 편의 매크로가 필요 없어져요. 그래서 시그니처에서도 __STDC_VERSION__이 202311L보다 작을 때만 정의하도록 조건문이 걸려 있어요. <stdbool.h> 헤더 자체도 C23에서 폐기(deprecated) 처리됐어요.
더 알아보기
_Bool타입의 의미는 불리언 타입(Boolean type) 문서에서 확인해요.- 조건식에서
true/false값이 어떻게 쓰이는지는 문장(statement) 문서를 함께 봐요.