我发现C99添加_Complex
来支持复杂算术。但是,我想知道为什么C99为这样一个与字段相关的功能添加新的关键字(仅对科学计算有用)。通过标准库支持复杂类型不是更好吗?
答案 0 :(得分:5)
您可以参考C99基本原理文档,了解为何做出此决定的信息:
http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf
在第42页,第16-20行读取:
C99的一个新特性:复杂类型被添加到C中,作为使C适合于一般数值编程的努力的一部分。复杂算术在某些重要的应用领域中被大量使用。
复杂类型的底层实现是笛卡尔式而非极性,以实现整体效率和与其他编程语言的一致性。明确说明了实现,以便可以简单明确地定义特征和行为。
因此,似乎潜在的动机是让C对数值编程更具“吸引力”或竞争力,如果我没有弄错的话,这个领域仍然由Fortran主导。