【发布时间】:2011-05-20 12:45:42
【问题描述】:
我正在考虑在下个月开始系统编程之前学习 C 基础知识和语法。在阅读时,我遇到了 C89/99 标准。根据维基百科,
C99 引入了几个新特性, 包括内联函数,几个 新的数据类型(包括 long long int 和一个复杂类型来表示 复数),可变长度 数组,支持可变参数宏 (可变元的宏)和支持 对于以开头的单行 cmets //,如在 BCPL 或 C++ 中。其中许多 已经实施为 几个 C 编译器中的扩展。
C99 大部分是落后的 与C90兼容,但更严格 在某些方面;特别是,一个 缺少类型的声明 说明符不再具有 int 隐含假设。标准宏 STDC_VERSION 定义为值 199901L 表示支持 C99 可用。海湾合作委员会、太阳工作室和 其他编译器现在支持许多或 C99 的所有新功能。
我借了一份 K&R,第 2 版,它使用 C89 标准。对于学生来说,使用 C89 是否会使 K&R 涵盖的某些科目无效,如果是,我应该注意什么?
【问题讨论】: