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 标准(ISO/IEC 9899:2011):
- 7.3.9.3 The CMPLX macros (第 197 页)
参阅
(C99) |
虚数单位常量 i (宏常量) |