You copied the Doc URL to your clipboard.

New library features of C99

The C99 standard introduces several new library features of interest to programmers.

These new features include:

  • Some features similar to extensions to the C90 standard libraries offered in UNIX standard libraries, for example, the snprintf family of functions.

  • Some entirely new library features, for example, the standardized floating-point environment offered in <fenv.h>.

  • New libraries, and new macros and functions for existing C90 libraries.

A selection of new features in C99 that might be of interest to developers using them for the first time are documented.


C90 is compatible with Standard C++ in the sense that the language specified by the standard is a subset of C++, except for a few special cases. New features in the C99 standard mean that C99 is no longer compatible with C++ in this sense.

Many library features that are new to C99 are available in C90 and C++. Some require macros such as USE_C99_ALL or USE_C99_MATH to be defined before the #include.