liveBook · Manning

C23

As explained in Modern C, Third Edition

C23 is the ISO standard revision of the C programming language published in 2024.

C23 is the 2024 revision of the C standard. Two visible changes are binary integer literals and clearer rules for identifiers containing characters beyond the basic Latin alphabet. Whether a program can use a feature also depends on its toolchain’s C23 support. section 5.3 section 9.3 section 22.0

The changes appear in ordinary declarations and values:

  • `0b1010` is a binary integer literal with value 10. The prefix can also be written `0B`. section 5.3
  • An identifier such as `année` can use characters beyond the basic Latin alphabet. C23 specifies allowed identifiers with reference to Unicode UAX #31 and uses Normalization Form C to address equivalent character sequences. section 9.3
long année = 1990L; // Année de l'écriture de l'œuvre

The declaration uses `année` directly as an identifier, rather than spelling its accented character with a `\u` escape. TAKEAWAY: check identifier validity under C23’s Unicode rules, and check that the compiler supports the feature. section 9.3 section 22.0

Compiler support may lag the standard. A C23 conformance tracker can help identify which features a toolchain implements; do not assume that every C23 construct works in every development environment. section 22.0

How Modern C, Third Edition covers it

How deep it goes
Explains binary-literal syntax and identifier normalization through examples, but does not detail compiler implementation of either feature.
Examples
Uses `0b1010` for binary notation and `année` for a directly written non-ASCII identifier.
What it assumes
Assumes familiarity with C literals and declarations while explaining binary notation and Unicode normalization through examples.
What you can do after
Evaluate/understand C23 binary literals and Unicode identifier rules, then check a toolchain’s reported feature support.
How it connects
Connects Unicode identifiers to UAX #31 and Normalization Form C, and C23 features to compiler conformance.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Modern C, Third Edition. The section links point to the parts of the book it draws on.