代码之家  ›  专栏  ›  技术社区  ›  Iceland_jack

_ C编程语言__之后发生了什么变化?

  •  2
  • Iceland_jack  · 技术社区  · 15 年前

    我在C的经验主要来自第二版 The C Programming language 这是一本非常古老的书。C版本发布后发生了什么变化,我应该避免哪些过时或不推荐使用的函数?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Edward Leno    15 年前

    您还可以查看从那时起推出的“C”规格(如C99)。这些规范将说明它们相对于先前标准添加/删除/更改的内容。

    http://en.wikipedia.org/wiki/C_%28programming_language%29

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

    http://en.wikipedia.org/wiki/C89_%28C_version%29

    如果你想知道“c”的未来是怎样的,那就看看C1X,它是即将到来的“c”标准。

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

        2
  •  1
  •   ninjalj    15 年前

    如果你能拿到一份ISO C99标准的副本,那么前言中就包含了一份自C90以来主要变化的两页清单。

        3
  •  1
  •   Bart van Ingen Schenau    15 年前

    变化不大。对于大多数实际用途,k&r2中描述的语言仍然是要使用的语言。 1999年有了一个新的C标准,但没有像1989年版本的标准(K&R2也描述过)那样成功和广泛地被采用。

    C99中可能破坏现有程序的最重要更改是:

    • 类型的隐式假设 int 中的声明已被删除。只需确保始终显式地指定函数和变量的类型。
    • 不推荐在没有预先声明的情况下调用函数。只需确保在使用前声明所有函数,最好使用原型。

    这两种情况都是标准前的延期,长期以来一直被视为不好的做法。

    要避免的一个功能是(并且一直如此) gets() .