| Types and the imaginary constant | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Manipulation | |||||||||||||||||||||||||||||||
| Power and exponential functions | |||||||||||||||||||||||||||||||
| Trigonometric functions | |||||||||||||||||||||||||||||||
| Hyperbolic functions | |||||||||||||||||||||||||||||||
Defined in header <complex.h> | ||
#define complex _Complex | (since C99) | |
This macro expands to a type specifier used to identifycomplex types.
A program may undefine and perhaps then redefine thecomplex macro.
#include <complex.h>#include <math.h>#include <stdio.h> void print_complex(constchar* 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*iz² = -3.000000-4.000000*iz² = -3.000000-4.000000*i
(C99) | imaginary type macro (keyword macro)[edit] |