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