Question

I understand that there is both an ANSI standard and an ISO standard for C. Are there any differences between these two standards? If so, what are they? And if there is not a difference then what's the point of having two standards?

Was it helpful?

Solution

In 1990, the ANSI C standard (with a few minor modifications) was adopted by the International Organization for Standardization as ISO/IEC 9899:1990. This version is sometimes called C90. Therefore, the terms "C89" and "C90" refer to essentially the same language.

Source, the situation is similar but reversed for C99. There is also a C FAQ entry on the matter.

The reason that there are two standards is simple: ANSI is a north-american standards body while ISO is an international one.

OTHER TIPS

Aside from the fact that new revisions will be ratified by the ISO before national standards bodies like ANSI, the two are the same. However, common incorrect usage is for "ANSI C" to mean the original language standardized by ANSI in 1989, and "ISO C", "ISO C99", or simply "C99" to mean the current standard adopted by the ISO in 1999.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top