为什么C99为复杂类型添加关键字?

时间:2014-12-21 05:10:23

标签: c c99

我发现C99添加_Complex来支持复杂算术。但是,我想知道为什么C99为这样一个与字段相关的功能添加新的关键字(仅对科学计算有用)。通过标准库支持复杂类型不是更好吗?

1 个答案:

答案 0 :(得分:5)

您可以参考C99基本原理文档,了解为何做出此决定的信息:

http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf

在第42页,第16-20行读取:

  

C99的一个新特性:复杂类型被添加到C中,作为使C适合于一般数值编程的努力的一部分。复杂算术在某些重要的应用领域中被大量使用。

     

复杂类型的底层实现是笛卡尔式而非极性,以实现整体效率和与其他编程语言的一致性。明确说明了实现,以便可以简单明确地定义特征和行为。

因此,似乎潜在的动机是让C对数值编程更具“吸引力”或竞争力,如果我没有弄错的话,这个领域仍然由Fortran主导。