# Predefined Boolean constants (since C23)

From cppreference.com
< c‎ | language

### Syntax

`true` | (1) | (since C23)
`false` | (2) | (since C23)

### Explanation

Keywords true and false represent predefined constants. They are non-lvalues of type `bool`.

### Notes

See integral conversions for implicit conversions from bool to other types and boolean conversions for the implicit conversions from other types to bool.

Until C23, `true` and `false` were implemented as macros provided in `<stdbool.h>`. An implementation may also define `bool`, `true`, and `false` as predefined macros in C23 for compatibility.

### Example

Run this code

    #include <stdbool.h>
    #include <stdio.h>

    int main(void)
    {
        printf("%d\n%d\n", true, false);
    }

Output:

    1
    0

### See also

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/language/bool_constant&oldid=154061"