【发布时间】:2011-05-13 00:55:13
【问题描述】:
我知道 C 语言既有 ANSI 标准,也有 ISO 标准。这两个标准之间有什么区别吗?如果是这样,它们是什么?如果没有区别,那么有两个标准又有什么意义呢?
【问题讨论】:
标签: c standards c99 c89 ansi-c
我知道 C 语言既有 ANSI 标准,也有 ISO 标准。这两个标准之间有什么区别吗?如果是这样,它们是什么?如果没有区别,那么有两个标准又有什么意义呢?
【问题讨论】:
标签: c standards c99 c89 ansi-c
1990 年,国际标准化组织采用了 ANSI C 标准(稍作修改)作为 ISO/IEC 9899:1990。此版本有时称为 C90。因此,术语“C89”和“C90”本质上指的是同一种语言。
Source,C99 的情况类似但相反。还有一个C FAQ entry就此事。
有两个标准的原因很简单:ANSI 是北美标准机构,而 ISO 是国际标准机构。
【讨论】:
除了新版本将在 ANSI 等国家标准机构之前由 ISO 批准之外,两者是相同的。但是,常见的不正确用法是“ANSI C”表示 ANSI 在 1989 年标准化的原始语言,而“ISO C”、“ISO C99”或简称为“C99”表示当前标准1999 年被 ISO 采用。
【讨论】: