C23
From cppreference.com
< c
The next generation of the C standard.
See: The current IS schedule for C23.
This section is incomplete |
Obsolete
Removed
- Representations for signed integers other than two's complement
- Old-style function definitions
- Mixed wide string literal concatenation
- Support for calling realloc() with zero size (the behavior becomes undefined)
Deprecated
- Old feature-test macros
- DECIMAL_DIG
- Definition of following numeric limit macros in
<math.h>
(they should be used via<limits.h>
)
New language features
- Decimal floating-point types (_Decimal32, _Decimal64, and _Decimal128)
- Binary integer constants
-
u8
character constants - Digit separator
'
- Attributes
-
[[deprecated]]
-
[[fallthrough]]
-
[[maybe_unused]]
-
[[nodiscard]]
-
- Unnamed parameters in function definitions
- Identical cvr-qualifcations for array types and their element types
- Single-argument _Static_assert
- Labels followed by declarations and
}
- New preprocessor directives
- Pragmas for rounding direction
-
STDC
FENV_ROUND -
STDC
FENV_DEC_ROUND
-
Feature test macros for optional features
- __STDC_IEC_60559_BFP__
- Indicates IEEE-754 binary floating-point arithmetic and required math functions are supported.
- This macro supersedes __STDC_IEC_559__.
- __STDC_IEC_60559_DFP__
- Indicates IEEE-754 decimal floating-point arithmetic and required math functions are supported.
- __STDC_IEC_60559_COMPLEX__
- Indicates IEEE-754 complex arithmetic and required math functions are supported.
- This macro supersedes __STDC_IEC_559_COMPLEX__.
New library features
- Extended binary floating-point math functions
-
This section is incomplete
Reason: List TBD
-
- Decimal floating-point math functions
- -
dN
variants for existing and new floating-point math functions - quantizedN()
- samequantumdN()
- quantumdN()
- llquantexpdN()
- encodedecdN()
- decodedecdN()
- encodebindN()
- decodebindN()
- -
- Floating-point formatting functions
- POSIX functions
- memccpy()
- strdup()
- strndup()
- asctime_r()
- ctime_r()
- gmtime_r()
- localtime_r()
- Extensions for strftime() and wcsftime()
- Extensions for fscanf() and fprintf() function families
-
wN
andwfN
length modifiers for [u]intN_t and [u]int_fastN_t respectively -
H
,D
, andDD
length modifiers for _Decimal32, _Decimal64, and _Decimal128 respectively -
b
conversion specifier for unsigned integer types
-
- timespec_getres()
- Macro constants for width of integer types
- Additional numeric limit macros for floating-point types
- Library version-test macros
- true and false of type _Bool