crealf, creal, creall
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <complex.h>
  | 
||
|   float       crealf( float complex z );  | 
(1) | (since C99) | 
|   double      creal( double complex z );  | 
(2) | (since C99) | 
|   long double creall( long double complex z );  | 
(3) | (since C99) | 
|   Defined in header  <tgmath.h>
  | 
||
|   #define creal( z )  | 
(4) | (since C99) | 
1-3) Returns the real part of 
z.4) Type-generic macro: if 
z has type long double complex, long double imaginary, or long double, creall is called. If z  has type float complex, float imaginary, or float, crealf is called. If z has type double complex, double imaginary, double, or any integer type, creal is called.Parameters
| z | - | complex argument | 
Return value
The real part of z.
This function is fully specified for all possible inputs and is not subject to any errors described in math_errhandling
Notes
For any complex variable z, z == creal(z) + I*cimag(z).
Example
Run this code
Output:
1.000000+2.000000i
References
- C11 standard (ISO/IEC 9899:2011):
 
- 7.3.9.6 The creal functions (p: 198-199)
 
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
 
- G.7 Type-generic math <tgmath.h> (p: 545)
 
- C99 standard (ISO/IEC 9899:1999):
 
- 7.3.9.5 The creal functions (p: 180)
 
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
 
- G.7 Type-generic math <tgmath.h> (p: 480)
 
See also
|    (C99)(C99)(C99)  | 
   computes the imaginary part a complex number   (function)  | 
|   C++ documentation for real 
 | |