C23 是 ISO/IEC 9899:2024 的非正式名稱, 同時也是 C語言C18 標準(ISO/IEC 9899:2018)[1]後的又一次更新。 這項計劃在2016年時被非正式的稱為 C2x [2],並預計在2024年發佈。 最新公開的 C23 草案在2023年4月1日發佈。 第一次C2X草案的 WG14 會議是在 2019年10月舉行 [3], 由於新冠疫情, 這些會議在2020年一度改為線上遠端的形式。 這些會議在2024年仍在持續著。

特色

到草案階段, C23 有以下特色[4]

新的語言特色

  • 加入特性,以雙重方括號 [[ ]] 表示,用以標記一些資訊供編譯器識別

新的形別與關鍵字

  • 空指標:加入 nullptr_t 型態以代表空指標,並加入 nullptr 常數
  • 整數:加入 _BitInt(N) unsigned _BitInt(N) 以支援64位元以上的大整數
  • 10進位小數:加入 _Decimal32, _Decimal64,_Decimal128 關鍵字,用來表示10進位小數
  • 加入 char8_t 表示 UTF8 型態字串
  • 將一些 C11 存在的關鍵字改為小寫並去掉前置底線,如 _Bool 改為 bool,以前的寫法主要是為了避免與舊的程式碼發生衝突。
  • 加入 truefalse 關鍵字

新的巨集

  • 加入 #elifdef#elifndef 兩個新巨集,這兩個其實和過去的 #elif defined 以及 #elif !defined 等價

新的函示庫

編譯器支援

參照

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.