当前位置: C语言 -- 标准库 -- <complex.h> -- imaginary

imaginary宏


概要:

#define imaginary _Imaginary


描述:

该宏会扩展为C语言关键词_Imaginary_Imaginary是表示虚数类型的类型说明符。

当且仅当实现支持虚数类型时,宏imaginary才会被定义。

尽管ISO/IEC 9899:2018标准有保留标识符的规定;但程序可以取消宏imaginary定义,并且可以再重新定义宏imaginary


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
/*宏imaginary范例*/

#ifdef __STDC_NO_COMPLEX__
#error "Implementation does not support complex types."
#endif

#include <complex.h>
#include <stdio.h>

int main(void)
{
    double imaginary x = 2.0*I;
    double complex y = 2.3 + 1.5*I;
    double complex z;

    z = x + y;
    printf("z = %.2f + %.2fi\n",creal(z),cimag(z));

    return 0;
}


可能输出:

z = 2.30 + 3.50i

:由于目前编译器对虚数的支持都不够理想,上述程序的运行结果并未得到验证。


相关内容:
_Imaginary_I 表示const float _Imaginary类型的具有虚数单位值的宏。