imaginary_C语言中文网
| 定义于头文件 |
||
| #define imaginary _Imaginary |
(C99 起) | |
此宏展开成关键词 _Imaginary 。
这是一个便利宏,使你能用 float imaginary 、 double imaginary 及 long double imaginary 作为书写三种纯虚数 C 类型 float _Imaginary 、 double _Imaginary 以及 long double _Imaginary 的替用方式。
同 C 中的任意纯虚数支持,仅若支持虚数才定义此宏。
| 推荐编译器定义 __STDC_IEC_559_COMPLEX__ ,但并不强制要求其支持虚数。 POSIX 推荐检查是否定义宏 _Imaginary_I 以鉴别是否支持虚数。 | (C99 起) (C11 前) |
|
若定义 __STDC_IEC_559_COMPLEX__ ,则支持虚数。 |
(C11 起) |
注意
允许程序取消定义,而且可在之后重定义 imaginary 宏。
示例
#include <stdio.h> #include <complex.h> int main(void) { double imaginary i = 2.0*I; // 纯虚数 double f = 1.0; // 纯实数 double complex z = f + i; // 复数 printf("z = %.1f%+.1fi\n", creal(z), cimag(z)); }
输出:
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.3.1/5 imaginary (p: 188)
- G.6/1 imaginary (p: 537)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.1/3 imaginary (p: 170)
- G.6/1 imaginary (p: 472)