A Boolean variable can be used to hold the integer values 0 or 1, or the literals true or false, which are implicitly promoted to the integers 1 and 0 respectively, whenever an arithmetic value is necessary. The Boolean type is unsigned and has the lowest ranking in its category of standard unsigned integer types; it may not be further qualified by the specifiers signed, unsigned, short, or long. In simple assignments, if the left operand is a Boolean type, then the right operand must be either an arithmetic type or a pointer.
Boolean type is a C99 feature. To declare a Boolean variable,
use the _Bool type specifier.
The token bool is recognized
as a keyword in C only when used in a vector declaration context and vector
support is enabled. 
To declare a Boolean variable in C++,
use the bool type specifier. The result of the equality,
relational, and logical operators is of type bool:
either of the Boolean constants true or false.
_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.