AnsiCee refers to two major dialects of the CeeLanguage (the third dialect, which should be considered deprecated for most applications, is KayAndArCee?--the original form of the language described in the first edition of KernighanAndRitchie).
- AnsiCee 89 (ANSI X3.159-1989; ISO/IEC 9899:1990 is essentially the same language). Added such features as void, const, and function prototypes to the language. Influenced quite a bit by the (early) design of CeePlusPlus, the AnsiCeePlusPlus? standard is based on this version of CeeLanguage. Largely a subset of CeePlusPlus (the few valid C89 programs that aren't valid C++ programs can be made so with mechanical transformations--i.e. renaming variables so as not to clash with C++ keywords, adding prototypes and casts in support of C++'s stricter typechecking, etc.) Described in the second edition of KernighanAndRitchie.
- AnsiCee 99 (ISO/IEC 9899:1999). Added vararg macros, variable-sized arrays, restricted pointers (which the user guarantees not to be aliased; allowing Fortran-style optimizations), intrinsic complex type, and a bunch of other goodies. Currently has many incompatibilities with CeePlusPlus.
AmericanCulturalAssumption: ANSI is, of course, AmericanNationalStandardsInstitute
?--a better name for these dialects might be IsoCee
?.