Mail Archives: djgpp/2001/04/19/20:45:37
"echo 'Rudolf Polzer'>/dev/null" <rpolzer AT www42 DOT t-offline DOT de> wrote in
message news:slrn9dtk7r DOT 9of DOT rpolzer AT www42 DOT t-offline DOT de...
> Jack Klein <jackklein AT spamcop DOT net> wrote:
> > The 1999 update to the C standard added a new type called _Bool (the
> > combination of leading underscore and upper case letter puts it in the
> > namespace reserved for the implementation) which is similar, but not
> > identical to, the C++ type bool.
> >
> > If you include the C99 standard header <stdbool.h>, it defines the
> > four macros bool, true, false, and __bool_true_false_are_defined.
> >
> > If your gcc version supports _Bool, you can use this type without
> > including any header. If it supports _Bool and comes with the header
> > <stdbool.h> (or you can make your own <stdbool.h>, it's a pretty
> > simple header), then you can use the C99 macro bool.
>
> Isn't this a valid stdbool.h (without the include guards)
>
> typedef bool int;
> #define true 1
> #define false 0
>
> or is a boolean more than that?
I would say so. bool (or _Bool) can hold one of two values, 0 or 1. int
can hold considerably more :-)
Dont know if 'typedef bool int;' is permitted by the C99 standard though.
It may be. I am fairly certain that you are free to undefine and redefine
the macros bool, true & false. So merely including the line 'typedef bool
int;' in your program is legal, if you don't #include <stdbool.h> or you
#undef bool afterwards.
Ross
- Raw text -