One can define "bool" to be a variety of things, including an enumeration type, but as C was designed the result of a relational expression (for example) is an int; that's what Boolean data in C really "is".