CMPLXF, CMPLX, CMPLXL
来自cppreference.com
| 定义于头文件 <complex.h>
|
||
| float complex CMPLXF( float real, float imag ); |
(C11 起) | |
| double complex CMPLX( double real, double imag ); |
(C11 起) | |
| long double complex CMPLXL( long double real, long double imag ); |
(C11 起) | |
每个宏都展开成求值为指定复数类型值的表达式,其实部值为(转换到指定参数类型的) real ,其虚部值为(转换到指定参数类型的) imag 。
该表达式适合用作有静态或线程期间存储的对象的初始化器,只要表达式 real 和 imag 都同样适合。
参数
| real | - | 待返回复数的实部 |
| imag | - | 待返回复数的虚部 |
返回值
以 real 和 imag 为实部和虚部组合成的复数。
注意
这些宏被定义为如同支持虚数类型(即使实际上不支持,而且不定义 _Imaginary_I ),且如同定义如下:
#define CMPLX(x, y) ((double complex)((double)(x) + _Imaginary_I * (double)(y))) #define CMPLXF(x, y) ((float complex)((float)(x) + _Imaginary_I * (float)(y))) #define CMPLXL(x, y) ((long double complex)((long double)(x) + \ _Imaginary_I * (long double)(y)))
示例
运行此代码
输出:
z = 0.0-0.0i
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.3.9.3 The CMPLX macros (p: 197)
参阅
| (C99) |
虚数单位常量 i (宏常量) |