2010-11-20 31 views
11

Entiendo que existe un estándar ANSI y un estándar ISO para C. ¿Hay alguna diferencia entre estos dos estándares? Si es así, ¿Que son? Y si no hay diferencia, ¿cuál es el sentido de tener dos estándares?¿Hay alguna diferencia entre ANSI C e ISO C?

Respuesta

8

En 1990, el estándar ANSI C (con algunas modificaciones menores) fue adoptado por la Organización Internacional de Normalización como ISO/IEC 9899: 1990. Esta versión a veces se llama C90. Por lo tanto, los términos "C89" y "C90" se refieren esencialmente al mismo idioma.

Source, la situación es similar pero anulada para C99. También hay un C FAQ entry al respecto.

La razón por la que hay dos estándares es simple: ANSI es un organismo de normas norteamericano, mientras que ISO es internacional.

+2

Luego, agregue la línea de tiempo al revés con C99 que se convirtió en un estándar ISO en 1999 y un estándar ANSI en 2000. Lo importante a tener en cuenta cuando se habla de los estándares C es el año. :) "ANSI C" o "ISO C" generalmente se refieren a C89; cuando las personas se refieren a C99 generalmente lo dicen. –

+0

@ Fabian: Buen punto, asumí que también significaba C89/C90. –

4

Aparte del hecho de que las nuevas revisiones serán ratificadas por la ISO ante los organismos de estándares nacionales como ANSI, los dos son lo mismo. Sin embargo, el uso incorrecto es para "ANSI C" para significar el idioma original estandarizado por ANSI en 1989, y "ISO C", "ISO C99", o simplemente "C99" para significar el estándar actual adoptado por el ISO en 1999.

+0

(Y ya tenemos C11) –

Cuestiones relacionadas