As far as I can see there are 3 ways to use booleans in c
#defin
1 is most readable not compatible with all compilers.
No ISO C compiler has a built in type called bool
. ISO C99 compilers have a type _Bool
, and a header which typedef's bool
. So compatability is simply a case of providing your own header if the compiler is not C99 compliant (VC++ for example).
Of course a simpler approach is to compile your C code as C++.