Search results
Results from the WOW.Com Content Network
Cover of the C99 standards document. C99 (previously C9X, formally ISO/IEC 9899:1999) is a past version of the C programming language open standard. [1] It extends the previous version with new features for the language and the standard library, and helps implementations make better use of available computer hardware, such as IEEE 754-1985 floating-point arithmetic, and compiler technology. [2]
C99 also added complex types: float _Complex, double _Complex, long double _Complex. C11 added imaginary types (which were described in an informative annex of C99): float _Imaginary, double _Imaginary, long double _Imaginary. Including the header <complex.h> allows all these types to be accessed with using complex and imaginary respectively.
Some compilers (for example, GCC [7]) provide built-in versions of many of the functions in the C standard library; that is, the implementations of the functions are written into the compiled object file, and the program calls the built-in versions instead of the functions in the C library shared object file.
Prior to the C99 standard, variable-sized arrays were a common example of this. (See the article on C dynamic memory allocation for an example of dynamically allocated arrays.) Unlike automatic allocation, which can fail at run time with uncontrolled consequences, the dynamic allocation functions return an indication (in the form of a null ...
C99 adds several functions and types for fine-grained control of floating-point environment. [3] These functions can be used to control a variety of settings that affect floating-point computations, for example, the rounding mode, on what conditions exceptions occur, when numbers are flushed to zero, etc.
In the C programming language, restrict is a keyword, introduced by the C99 standard, [1] that can be used in pointer declarations. By adding this type qualifier, a programmer hints to the compiler that for the lifetime of the pointer, no other pointer will be used to access the object to which it points. This allows the compiler to make ...
Get AOL Mail for FREE! Manage your email like never before with travel, photo & document views. Personalize your inbox with themes & tabs. You've Got Mail!
There is a portability issue with generating a trailing comma with empty args for variadic macros in C99. Some compilers (e.g., Visual Studio when not using the new standard-conformant preprocessor [6]) will silently eliminate the trailing comma. Other compilers (e.g.: GCC [4]) support putting ## in front of __VA_ARGS__.