C99 已存在十多年,但对它的支持一直很缓慢,所以大多数开发人员仍然使用 C89。即使今天,当我在 C 代码中遇到 C99 特性时,有时也会感到轻微的惊讶。
现在大多数主要编译器都支持 C99(MSVC 是一个明显的例外,还有一些嵌入式编译器也落后),我认为那些使用 C 的开发人员应该知道哪些 C99 特性是可用的。其中一些特性只是以前未标准化的常见特性(例如 snprintf
),或者从 C++ 中熟悉(灵活的变量声明放置或单行 //
注释),但一些新功能是首次引入 C99 并且对许多程序员来说是陌生的。
你觉得 C99 中最有用的新功能是什么?
供参考,C99 标准(标记为草案,但据我所知与更新的标准相同)、新功能列表 和 GCC C99 实现状态。
每个答案一个特性,请随意留下多个答案。鼓励提供演示新功能的简短代码示例。