©
本文档使用
php.cn手册 发布
在头文件<math.h>中定义 | ||
---|---|---|
#define imaginary _Imaginary | (since 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; // pure imaginary double f = 1.0; // pure real double complex z = f + i; // complex number printf("z = %.1f%+.1fi\n", creal(z), cimag(z));}
输出:
z = 1.0+2.0i
C11标准(ISO / IEC 9899:2011):
7.3.1 / 5想象(p:188)
G.6 / 1假想(p:537)
C99标准(ISO / IEC 9899:1999):
7.3.1 / 3假想(p:170)
G.6 / 1想象(p:472)