_Imaginary_I
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <complex.h>
  | 
||
|   #define _Imaginary_I /* unspecified */  | 
(C99 起) | |
_Imaginary_I 宏展开成类型 const float _Imaginary 的值,其值为虚数单位。
同 C 中的纯虚数支持,仅若支持虚数才定义此宏。
| 推荐编译器定义 __STDC_IEC_559_COMPLEX__ ,但并不强制要求其支持虚数。 POSIX 推荐检查是否定义宏 _Imaginary_I 以鉴别是否支持虚数。 | (C99 起) (C11 前)  | 
| 
 若定义 __STDC_IEC_559_COMPLEX__ ,则支持虚数。  | 
(C11 起) | 
注意
此宏允许从其实部和虚部精确地构成复数,例如用 (double complex)((double)x + _Imaginary_I * (double)y) 。此模式在 C11 中作为 CMPLX 标准化。注意若使用了 _Complex_I ,则允许此表达式在虚数位置将负零转变成正零。
示例
运行此代码
输出:
z = 0.0-0.0i
引用
- C11 standard (ISO/IEC 9899:2011):
 
- 7.3.1/5 _Imaginary_I (p: 188)
 
- G.6/1 _Imaginary_I (p: 537)
 
- C99 standard (ISO/IEC 9899:1999):
 
- 7.3.1/3 _Imaginary_I (p: 170)
 
- G.6/1 _Imaginary_I (p: 472)
 
参阅
|    (C99)  | 
   复数单位常量i   (宏常量)  | 
|    (C99)  | 
  复数或虚数单位常量i  (宏常量)  |