2009年3月10日星期二

翻阅 C99 标准

自从C89之后,C语言就没有经过大的改变。相比之下,C++的特性却是一天一个样儿,作为C 语言的超集,C++至今拥有了大量的特性,和多家库支持。为使C一样与时俱进,ISO 在99年 制定了ISO/IEC 9899:1999,被后来称之为C99。

C99的重要更新有:

  1. inline 方法
  2. 不一定需要在代码块开始位置定义变量
  3. 更多的类型支持:比如 long long int等扩展整形,复数类型等
  4. 支持变长数组
  5. 使用"//"但行注释
  6. 新的库函数,比如snprintf
  7. 新的头文件,比如stdbool.h
  8. 引入通用类型的数学方法,(tgmath.h, 包含math.h和complex.h,两者通吃)
  9. 改进的IEEE浮点支持
  10. 制定的初始化方法
  11. 混合迭代器
  12. variadic 宏支持(不清楚)
  13. restrict 支持,允许更深的代码优化

尽管C99也已经过去了10年,在我第一次摸的时候还是感觉很凹口和生疏,一方面自己的基 础还是很薄弱,一方面标准性的文档往往追求经准而晦涩难懂。相信随着以后的学习,那些 诸如multibyte char之类的字眼还会出现在我面前。

WIKIPEDIA:

http://en.wikipedia.org/wiki/c99

Open-Std 标准文档:

http://www.open-std.org/JTC1/SC22/WG14/www/standards.html#9899

GCC C99 Status:

http://gcc.gnu.org/c99status.html

没有评论:

发表评论