complex.h
是C标准函数库中的头文件,提供了复数算术所需要的宏定义与函数声明。
C99及C++11都规定了关键字_Complex。因而有3种复数类型:
次序不是必须遵守的,比如float _Complex也可以写成_Complex float。
_Complex_I
扩展为类型为const float _Complex
的常量值,其值为虚数单位。
C99规定complex
作为宏扩展为_Complex
。但C++未定义complex
宏。
gcc仅支持complex type,不支持imaginary type。因此宏I
扩展为_Complex_I
。
定义复数变量时,可以如此:
double _Complex v1=3.1+5*I;double _Complex v2=3.2+5*_Complex_I;float _Complex v3=4.6f+12.0IF; //必须先写i,后写f_Complex float v4=8.2f+2.3if;long double _Complex v5=1.23456789L+3.456789999iL; //必须先写i,后写L