自从C89之后,C语言就没有经过大的改变。相比之下,C++的特性却是一天一个样儿,作为C 语言的超集,C++至今拥有了大量的特性,和多家库支持。为使C一样与时俱进,ISO 在99年 制定了ISO/IEC 9899:1999,被后来称之为C99。
C99的重要更新有:
- inline 方法
- 不一定需要在代码块开始位置定义变量
- 更多的类型支持:比如 long long int等扩展整形,复数类型等
- 支持变长数组
- 使用"//"但行注释
- 新的库函数,比如snprintf
- 新的头文件,比如stdbool.h
- 引入通用类型的数学方法,(tgmath.h, 包含math.h和complex.h,两者通吃)
- 改进的IEEE浮点支持
- 制定的初始化方法
- 混合迭代器
- variadic 宏支持(不清楚)
- restrict 支持,允许更深的代码优化
尽管C99也已经过去了10年,在我第一次摸的时候还是感觉很凹口和生疏,一方面自己的基 础还是很薄弱,一方面标准性的文档往往追求经准而晦涩难懂。相信随着以后的学习,那些 诸如multibyte char之类的字眼还会出现在我面前。
WIKIPEDIA:
Open-Std 标准文档:
http://www.open-std.org/JTC1/SC22/WG14/www/standards.html#9899
GCC C99 Status:
没有评论:
发表评论