Boolean conversions

An unscoped enumeration, pointer, or pointer to member type can be converted to a Boolean type.

C only. If the scalar value is equal to 0, the Boolean value is 0; otherwise, the Boolean value is 1.

C++ only A zero, null pointer, or null member pointer value is converted to false. All other values are converted to true.