ANSI C

El primer estándar que se publicó para C fue el de ANSI, si bien este estándar fue adoptado posteriormente por la International Organization for Standardization (ISO) y revisiones posteriores publicadas por ISO han sido adoptadas por ANSI.El término ANSI C es de uso más frecuente en la industria que ISO C. Un término más neutral es estándar C. En 1983, el American National Standards Institute creó un comité, el X3J11, para establecer una especificación estándar para C. Tras un largo y arduo proceso, el estándar se terminó en 1989 y se ratificó como ANSI X3.159-1989 "Programming Language C." A esta versión del estándar se le conoce como "ANSI C", o también "C".En 1990, el estándar ANSI C (con algunas modificaciones menores) fue adoptado por la International Organization for Standardization bajo la denominación ISO/IEC 9899:1990."C11" es el nuevo estándar para el lenguaje de programación C. ANSI C es compatible por casi todos los compiladores, dado que la gran parte del código escrito en C está basado en ANSI C. Se da por hecho que cualquier programa escrito sólo según el estándar C sin dependencia alguna del hardware se compila de forma correcta en cualquier plataforma con una implementación conforme con C. Si no se toman estas medidas, la mayoría de programas sólo podrán compilarse en una plataforma determinada o con un compilador en particular.Es preferible utilizar "#if __STDC__" como en el ejemplo superior en lugar de "#ifdef __STDC__" porque algunas implementaciones pueden otorgar a __STDC__ el valor cero para indicar que no son compatibles con ANSI.