Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19268620
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-03-20 18:35:49

来源: 作者:antigloss 等级:一般
发布于2006-01-21 19:48 被读2294次 【字体: 】

C99 新增了复数类型_Complex)和虚数类型_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complexdouble _Complex,和 long double _Complex。对于 float _Complex 类型的变量来说,它包含两个 float 类型的值,一个用于表示复数的实部real part),另一个用于表示虚部imaginary part)。类似地,
double _Complex 包含两个 double 类型的值。以此类推。C99 也提供了三种虚数类型:float _Imaginarydouble _Imaginary,以及 long double _Imaginary
。虚数类型只有虚部,没有实部。

包含标准头文件 complex.h 后,我们就可以用 complex 来代表 _Complex,用
imaginary 来代表 _Imaginary,以及用 I 来代表虚数单位 i,也就是 -1 的平方根。例如:

    #include <complex.h>
       
double _Complex x = 5.2; /* 实部等于 5.2,虚部为 0 */
        double complex y = 5.0 * I; /* 实部为 0,虚部为 5.0 */
        double complex z = 5.2 – 5.0 * I; /* 实部为 5.2,虚部为 5.0 */

注意_Complex 类型对于独立式环境freestanding environment)来说是可选的。可选的意思是,不强制必须支持这种类型。而所谓独立式环境,是指 C 程序可以在没有操作系统的情况下运行。_Imaginary 类型在任何环境下都是可选的。目前的编译器对这两种类型的支持都不太好,故而我在此就不对这两种类型进行更深入的讨论了。

    至此,基本数据类型就全部讨论完了。

参考资料C Primer 5th Edition
          C99 标准

本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。

阅读(1136) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~