复浮点数(C99)

C99识别两种类型的浮点数:实数浮点数类型和复浮点数类(<complex.h>)。两种类型共同组成了浮点类型。

复浮点数具有两个部分:一个实部和一个虚部。C99内部使用一个二维数组来表示复数,第一个部分为实部,第二个部分作为虚部。有3中复浮点类型:

float _Complex 代表实部和虚部都是float值
double _Complex 代表实部和虚部都是double值
long _Complex 代表实部和虚部都是long double值

虚数只有虚部。这3中类型是:

float _Imaginary 代表虚部是float值
double _Imaginary 代表虚部是double值
long _Imaginary 代表虚部是long double值

宏定义I表示i,也就是-1的平方根。

示例代码:

#include <complex.h>

double _Complex z = 3.0;
double _Complex w = 4.0 * I;
double _Complex u = 6.0 - 8.0 * I;

ref: 《C Primer Plus》 

原文地址:https://www.cnblogs.com/qwertWZ/p/2863450.html