The compiler supports _Bool
, a type used for holding true
and false values.
The values held by
variables of this type are not integers and behave differently in expressions compared to
similar expressions involving integers of type __bit
(See Bit Data Types And Variables). Values converted
to a _Bool
type result in 0 (false) if the value is 0; otherwise, they
result in 1 (true). Values converted to an integer bit type are truncated to the least
significant bit.
The <stdbool.h>
header defines
true
and false
macros that can be used with
_Bool
types and the bool
macro, which expands to the
_Bool
type. For example:
#include <stdbool.h>
_Bool motorOn;
motorOn = false;
If you are compiling
with the C90 standard, _Bool
is not available, but there is a
bool
type available if you include <stdbool.h>
,
but which is merely a typedef
for unsigned char
.