C99已经存在了10多年,但是对其的支持却来得很缓慢,因此大多数开发人员都对C89持保留态度。即使在今天,当我在C代码中遇到C99功能时,有时我还是会感到有些惊讶。
既然大多数主要的编译器都支持C99(MSVC是一个显着的例外,并且某些嵌入式编译器也很落后),我觉得使用C的开发人员可能应该知道他们可以使用哪些C99功能。一些功能只是以前从未标准化的通用功能(snprintf
例如,),或者是C ++所熟悉的(灵活的变量声明放置,或单行//
注释),但是其中一些新功能最初是在C99中引入的,并且许多程序员都不熟悉。
您发现C99中最有用的新功能是什么?
作为参考,C99标准(标记为草案,但据我所知与更新的标准相同),新功能列表以及GCC C99实施状态。
请为每个答案提供一项功能;随时留下多个答案。鼓励使用简短的代码示例演示新功能。