What is the C99 _Bool data type and how do you use it?
boolean, c, c99, types
Solution
Include `<stdbool.h>` header
#include <stdbool.h>
int main(void){
bool b = false;
}
Macros `true` and `false` expand to `1` and `0` respectively.
Section `7.16` Boolean type and values `< stdbool.h >`
- 1 The header `<stdbool.h>` defines four macros.
- 2 The macro
- bool expands to _Bool.
- 3 The remaining three macros are suitable for use in #if preprocessing directives. They are
- true : which expands to the integer constant 1,
- false: which expands to the integer constant 0, and
- __bool_true_false_are_defined which expands to the integer constant 1.
- 4 Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then redefine the macros bool, true, and false.
Problem
What is the C99 `_Bool` data type and how do you use it?