c/99

ISO/IEC 9899:1999, a.k.a. C99, is a previous revision of the C standard.

Removed

 * Implicit in declarations
 * Implicit function declarations

Deprecated

 * gets

New language features

 * Universal-character-names in identifiers
 * Increased translation limits
 * comments
 * pointers
 * Enhanced arithmetic types
 * and
 * Extended integer types
 * types (,, and )
 * types (,, and )
 * Flexible array members
 * Variable-length array (VLA) types and variably-modified (VM) types
 * Improvements of for array, struct and union types
 * Non-constant initializers
 * Designated initializers
 * Idempotent cvr-qualifiers
 * Trailing comma in c/language/enum
 * Hexadecimal floating constants
 * Compound literals
 * Floating-point environment
 * Requiring truncation for divisions of signed integer types
 * Implicit in the  function
 * Declarations and statements in mixed order
 * in loops
 * functions
 * Predefined variable
 * Cvr-qualifiers and in  within function declarations
 * Variadic macros
 * preprocessor operator
 * Standard pragmas for floating-point evaluation
 * Standard pragmas for floating-point evaluation

Feature test macros for optional features

 * Indicates IEEE-754 binary floating-point arithmetic and required math functions are supported.
 * Indicates IEEE-754 complex arithmetic and required math functions are supported.
 * Indicates that the implementation is hosted.
 * Indicates that Unicode is used by the wide literal encodings and expands to the latest supported revision.
 * Indicates that there are some characters in the basic character set having different code unit values in ordinary and wide literal encodings.
 * Indicates that the implementation is hosted.
 * Indicates that Unicode is used by the wide literal encodings and expands to the latest supported revision.
 * Indicates that there are some characters in the basic character set having different code unit values in ordinary and wide literal encodings.
 * Indicates that there are some characters in the basic character set having different code unit values in ordinary and wide literal encodings.
 * Indicates that there are some characters in the basic character set having different code unit values in ordinary and wide literal encodings.

Library features

 * Aliases for integer types
 * Integer types with exact width ( and )
 * Fastest integer types with at least given width ( and )
 * Smallest integer types with at least given width ( and )
 * Integer types capable for cast between object pointers (intptr_t and uintptr_t)
 * Integer types with maximum width (intmax_t and uintmax_t)
 * Operations on and intmax_t
 * llabs
 * abs
 * div
 * div
 * Floating-point environment access
 * Extended floating-point math functions
 * New floating-point math functions
 * - and - variants for existing and new floating-point math functions
 * Math error handling
 * Complex functions
 * _exit
 * Formatting support for, , intmax_t, and uintmax_t
 * atoll
 * strtoimax
 * strtoll
 * strtoull
 * strtoumax
 * wcstoimax
 * wcstoll
 * wcstoull
 * wcstoumax
 * isblank and iswblank
 * snprintf and vsnprintf
 * vfscanf and vfwscanf function families
 * Extensions for and  function families
 * length modifier for and
 * length modifier for and
 * length modifier for
 * length modifier for size_t and its signed version
 * length modifier for ptrdiff_t and its unsigned version
 * length modifier for intmax_t and uintmax_t
 * conversion specifier for floating-point types
 * Numeric limit macros for and
 * Numeric limit macros corresponding to existing and new aliases for integer types
 * Format string macros for integer types
 * Type-generic math macros
 * Floating-point comparison macros
 * Floating-point classification macros
 * Compatibility macros for (,, and )
 * Compatibility macros for (,, and )