Type support
From cppreference.com
< c
See also type system overview and arithmetic types defined by the language.
Contents
[edit] Basic types
[edit] Additional basic types and convenience macros
Defined in header
<stddef.h>
Defined in header
<stdbool.h>
true
(C99)(removed in C23)
(macro constant)
false
(C99)(removed in C23)
(macro constant)
__bool_true_false_are_defined
(C99)(deprecated in C23)
(macro constant)
Defined in header
<stdalign.h>
__alignas_is_defined
(C11)(removed in C23)
(macro constant)
__alignof_is_defined
(C11)(removed in C23)
(macro constant)
Defined in header
<stdnoreturn.h>
[edit] Fixed width integer types (since C99)
[edit] Numeric limits
[edit] Notes
The type of true and false is int rather than _Bool.
A program may undefine and perhaps then redefine the macros bool, true and false. However, such ability is a deprecated feature.
(since C99)(until C23)
The type of true and false is bool. It is unspecified whether any of bool, _Bool, true, or false is implemented as a predefined macro.
If bool, true, or false (but not _Bool) is defined as a predefined macro, a program may undefine and perhaps redefine it.
(since C23)[edit] Example
Run this code
Possible output:
0 1 1 0 2 2
[edit] References
- C23 standard (ISO/IEC 9899:2024):
- 7.15 Alignment <stdalign.h> (p: TBD)
- 7.18 Boolean type and values <stdbool.h> (p: TBD)
- 7.19 Common definitions <stddef.h> (p: TBD)
- 7.23 _Noreturn <stdnoreturn.h> (p: TBD)
- 7.31.9 Boolean type and values <stdbool.h> (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 7.15 Alignment <stdalign.h> (p: 196)
- 7.18 Boolean type and values <stdbool.h> (p: 210)
- 7.19 Common definitions <stddef.h> (p: 211)
- 7.23 _Noreturn <stdnoreturn.h> (p: 263)
- 7.31.9 Boolean type and values <stdbool.h> (p: 332)
- C11 standard (ISO/IEC 9899:2011):
- 7.15 Alignment <stdalign.h> (p: 268)
- 7.18 Boolean type and values <stdbool.h> (p: 287)
- 7.19 Common definitions <stddef.h> (p: 288)
- 7.23 _Noreturn <stdnoreturn.h> (p: 361)
- 7.31.9 Boolean type and values <stdbool.h> (p: 456)
- C99 standard (ISO/IEC 9899:1999):
- 7.18 Boolean type and values <stdbool.h> (p: 253)
- 7.19 Common definitions <stddef.h> (p: 254)
- 7.26.7 Boolean type and values <stdbool.h> (p: 401)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.1.5 Common definitions <stddef.h>
[edit] See also
C++ documentation for Type support library