Name | Description | Notes | Source | Availability | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
__STDC_ |
Indicator of equivalence of
char32_t and UTF-32 |
L | ? | M | Predefined | C11 | |||||
ATOMIC_ |
Lock-free property of type atomic_ |
? | M | <stdatomic.h> |
C11 | ||||||
atomic_ |
Atomic character type | ? | T | <stdatomic.h> |
C11 | ||||||
char32_t |
Potential 32-bit Unicode-character type | ? | T | <uchar.h> |
C11 |
char32_t
is an unsigned integer type of at least 32 bits, the
same type that uint_
is an alias of,
so it has the range 0
to UINT_
, which
is at least 4294967295
. It is intended
to hold characters
encoded in UTF-32. However, this is only guaranteed if
__STDC_
is predefined (which
expands to 1
if it is).
The functions mbrtoc32
and
c32rtomb
can be used
to convert between sequences of
char32_t
and char
. Character constants of type
char32_t
take the form U'x'
. String
literals of type
char32_t[]
take the form U"abc"
.
atomic_
is an alias for _Atomic
char32_t
. This type is lock-free always if
ATOMIC_
is
2
, sometimes if 1
, and never if 0
.