 C99 introduced several new features, including inline functions, several new data types (including codice_38 and a codice_39 type to represent complex numbers), variable-length arrays and flexible array members, improved support for IEEE 754 floating point, support for variadic macros (macros of variable arity), and support for one-line comments beginning with codice_40, as in BCPL or C++.Many of these had already been implemented as extensions in several C compilers.C99 is for the most part backward compatible with C90, but is stricter in some ways; in particular, a declaration that lacks a type specifier no longer has codice_29 implicitly assumed.