C语言结构体复数加减
时间: 2024-12-12 12:15:43 浏览: 32
在C语言中,我们可以创建自定义数据类型来表示复数,通常通过结构体来实现。首先定义一个名为`complex`的结构体,包含实部`real`和虚部`imaginary`两个成员:
```c
typedef struct {
double real; // 实部
double imaginary; // 虚部
} complex;
```
然后,你可以定义两个`complex`类型的变量来进行复数的加法和减法操作。这里是一个简单的示例:
```c
// 定义加法函数
void add_complex(complex* a, complex* b, complex* result) {
result->real = a->real + b->real;
result->imaginary = a->imaginary + b->imaginary;
}
// 定义减法函数
void subtract_complex(complex* a, complex* b, complex* result) {
result- b->real;
result->imaginary = a->imaginary - b->imaginary;
}
```
使用这两个函数时,你需要先分配内存给`result`,然后传入需要操作的复数指针和结果指向的结构体地址:
```c
complex num1 = {3.0, 4.0}; // 复数 3 + 4i
complex num2 = {-2.0, 5.0}; // 复数 -2 + 5i
complex sum;
add_complex(&num1, &num2, &sum); // 现在sum是num1+num2
printf("Sum: (%f, %f)\n", sum.real, sum.imaginary);
complex diff;
subtract_complex(&num1, &num2, &diff); // 现在diff是num1-num2
printf("Difference: (%f, %f)\n", diff.real, diff.imaginary);
```
阅读全文