Table of Contents
Previous Section Next Section

_Complex

C99 includes the keyword _Complex, which supports complex arithmetic. The following _Complex types are defined:

float _Complex
double _Complex
long double _Complex

The reason that _Complex, rather than complex, was specified as a keyword is that many existing C programs had already defined their own custom complex data types using the name complex. By defining the keyword _Complex, C99 avoids breaking this preexisting code.

The header <complex.h> defines (among other things) the macro complex, which expands to _Complex. Thus, for new C programs, it is best to include <complex.h> and then use the complex macro.


Table of Contents
Previous Section Next Section