c/numeric/complex/I

The macro expands to either _complex_i or _imaginary_i. If the implementation does not support imaginary types, then the macro always expands to _complex_i.

A program may undefine and perhaps then redefine the macro.