Node:Complex Numbers, Next:Operations on Complex, Previous:Arithmetic Functions, Up:Arithmetic
ISO C99 introduces support for complex numbers in C.  This is done
with a new type qualifier, complex.  It is a keyword if and only
if complex.h has been included.  There are three complex types,
corresponding to the three real types:  float complex,
double complex, and long double complex.
To construct complex numbers you need a way to indicate the imaginary
part of a number.  There is no standard notation for an imaginary
floating point constant.  Instead, complex.h defines two macros
that can be used to create complex numbers.
| const float complex _Complex_I | Macro | 
| This macro is a representation of the complex number "0+1i". 
Multiplying a real floating-point value by _Complex_Igives a
complex number whose value is purely imaginary.  You can use this to
construct complex constants:3.0 + 4.0i = Note that  | 
_Complex_I is a bit of a mouthful.  complex.h also defines
a shorter name for the same constant.
| const float complex I | Macro | 
| This macro has exactly the same value as _Complex_I.  Most of the
time it is preferable.  However, it causes problems if you want to use
the identifierIfor something else.  You can safely write#include <complex.h> #undef I if you need  |