【发布时间】:2021-03-16 19:56:29
【问题描述】:
我对 C 语言有点陌生,我对 C 的一些基本原理有疑问。我正在实现一个处理定点算术的自定义复杂库。
我们可以在 C 中使用一个名为 complex.h 的库。使用该库,我们可以如下声明和初始化复杂变量。
complex float a = 2 + 3I;
complex float b = 5 + 2I;
complex float c = a + b;
但是当我们添加这两个复数浮点数时,编译器如何理解我们要添加两个复数。编译器是否使用它的数据类型来理解它?
那么我们需要遵循什么方法来实现复杂的数据类型?
我已经知道如何使用结构来实现它。但我需要知道我如何制作该结构来处理以a + bI 格式给出的变量。
为了更清楚,我的问题是我如何处理我的结构中的那个“我”角色?
【问题讨论】:
-
是的,编译器正在跟踪表达式的类型以决定如何添加数字,就像它决定如何将
int添加到double一样。
标签: c header-files c99 complex.h