On this page
complex
Defined in header <complex.h> |
||
---|---|---|
|
(since C99) |
This macro expands to a type specifier used to identify complex types.
A program may undefine and perhaps then redefine the complex
macro.
Example
#include <stdio.h>
#include <complex.h>
#include <math.h>
void print_complex(const char* note, complex z)
{
printf("%s %f%+f*i\n", note, creal(z), cimag(z));
}
int main(void)
{
double complex z = -1.0 + 2.0*I;
print_complex("z =", z);
print_complex("z\u00B2 =", z * z);
double complex z2 = ccos(2.0 * carg(z)) + csin(2.0 * carg(z))*I;
print_complex("z\u00B2 =", cabs(z) * cabs(z) * z2);
}
Output:
z = -1.000000+2.000000*i
z² = -3.000000-4.000000*i
z² = -3.000000-4.000000*i
References
- C17 standard (ISO/IEC 9899:2018):
- 7.3.1/4 complex (p: 136)
- C11 standard (ISO/IEC 9899:2011):
- 7.3.1/4 complex (p: 188)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.1/2 complex (p: 170)
See also
(C99)
|
imaginary type macro (keyword macro) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/complex