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年仍在持续著。
![]() | 此条目可参照英语维基百科相应条目来扩充。 (2024年4月1日) |
特色
到草案阶段, C23 有以下特色[4]:
- 加入特性,以双重方括号
[[ ]]
表示,用以标记一些资讯供编译器识别
- 空指针:加入
nullptr_t
类型以代表空指针,并加入nullptr
常量 - 整数:加入
_BitInt(N)
unsigned _BitInt(N)
以支持64位以上的大整数 - 10进位小数:加入
_Decimal32
,_Decimal64
,_Decimal128
关键字,用来表示10进位小数 - 加入
char8_t
表示 UTF8 类型字符串 - 将一些 C11 存在的关键字改为小写并去掉前置下划线,如
_Bool
改为bool
,以前的写法主要是为了避免与旧的代码发生冲突。 - 加入
true
和false
关键字
- 加入
#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.