New Built-in Types in C99
_Complex float
_Complex double
_Complex long double
_Imaginary float
_Imaginary double
_Imaginary long double
The complex.h header file provides macros defining complex to be _Complex, imaginary to be _Imaginary, and I to be the complex identity.