c/numeric/complex/CMPLX

Each of these macros expands to an expression that evaluates to the value of the specified complex type, with the real part having the value of (converted to the specified argument type) and the imaginary part having the value of  (converted to the specified argument type)

The expressions are suitable for use as initializers for objects with static or thread storage duration, as long as the expressions and  are also suitable.

Return value
A complex number composed of and  as the real and imaginary parts.