The C programming language, a cornerstone of modern software development, has been standardized by different organizations over the years. Two of the most prominent standards are ANSI C and ISO C. This article aims to clarify the relationship and differences between these two standards.
ANSI C: The American National Standards Institute (ANSI) released the first standard specification for C in 1989. This standard, often referred to as C89 or ANSI-C, was the first formal standard for the C language. It was a significant milestone that provided a solid foundation for the development of portable and reliable C programs.
ISO C: The International Organization for Standardization (ISO) adopted the ANSI C standard in 1990 with a few minor modifications. This version is sometimes called C90. Since then, ISO has been the primary standards body for the C language. The ISO has released several revisions of the standard, including C99 in 1999 and C11 in 2011.
Technically, ANSI C and ISO C refer to the same language standard. The ANSI C standard became obsolete when the ISO adopted it in 1990¹. However, in common parlance, "ANSI C" often refers to the original language standardized by ANSI in 1989, while "ISO C", "ISO C99", or simply "C99" refer to the current standard adopted by the ISO¹.
ANSI and ISO are different standards bodies, the terms ANSI C and ISO C refer to the same language standard. The primary difference lies in the timeline of standardization and the body responsible for maintaining the standard. Today, the ISO is the primary body responsible for the C language standard, and it continues to release updates and revisions to accommodate the evolving needs of programmers and systems worldwide.