"A Boolean variable can be used to hold the integer values 0 or 1, or the C++ literals true and false, which are implicitly promoted to the integers 0 and 1 whenever an arithmetic value is necessary. The type specifier to declare a Boolean variable is bool in C++. To declare a Boolean variable in C, use the bool macro, which is defined in the header file <stdbool.h>. A Boolean variable may not be further qualified by the specifiers signed, unsigned, short, or long.
The Boolean type is unsigned and has the lowest ranking in its category of standard unsigned integer types. In simple assignments, if the left operand is a Boolean type, then the right operand must be either an arithmetic type or a pointer. An object declared as a Boolean type uses 1 byte of storage space, which is large enough to hold the values 0 or 1.
In C, a Boolean type can be used as a bit field type. If a nonzero-width bit field of Boolean type holds the value 0 or 1, then the value of the bit-field compares equal to 0 or 1, respectively.
The token bool is recognized as a keyword only when used in a vector declaration context and when the AltiVec language extensions have been enabled.
_Bool uses 4 bytes of storage space, and is 4-byte aligned.
Variables of type bool can hold either one of two values: true or false. An rvalue of type bool can be promoted to an integral type. A bool rvalue of false is promoted to the value 0, and a bool rvalue of true is promoted to the value 1.
The result of the equality, relational, and logical operators is of type bool: either of the Boolean constants true or false.
Use the type specifier bool and the literals true and false to make boolean logic tests. A boolean logic test is used to express the results of a logical operation. For example:
bool f(int a, int b)
{
return a==b;
}
If a and b have the same value, f() returns true. If not, f() returns false."
Michael is right. Stay with a 32-bit integer preferably a LONG.
I would have to ask why do you define this all the time? Why not have an addon header file with this var defined or macroed?
Cheers

Leave a comment: