我打算在下个月开始学习系统编程之前学习C语言基础和语法。在阅读一些资料时,我了解到C89/99标准。根据维基百科的说法,
C99引入了一些新特性,包括内联函数、若干新的数据类型(包括long long int和一个表示复数的复数类型)、可变长度数组、支持可变参数宏(可变元数的宏)以及支持以//开头的单行注释,就像BCPL或C ++中的注释。其中很多已经作为扩展实现在多个C编译器中。
C99在大部分情况下与C90向后兼容,但在某些方面更为严格;特别是,缺少类型说明符的声明不再隐含地假定为int。一个名为STDC_VERSION的标准宏定义了值199901L,以表示支持C99。GCC、Sun Studio和其他编译器现在支持C99的许多或全部新功能。
我借了一本K&R第二版的书,它使用C89标准。对于一名学生来说,使用C89会使K&R涵盖的某些主题无效吗?如果有的话,我应该注意哪些问题?