C Program to Add Two Complex Number Using Structure, Typedef & Pointer

This C program adds two complex number given by user using the concept of structure, typedef and pointer.

C Source Code: Addition of Two Complex Number

``````
#include<stdio.h>

/* Declaring Structure */
typedef struct
{
float real;
float imaginary;
}complex;

/* Function Prototype */
complex add(complex *p, complex *q);

int main()
{
/* Declaring structure variable using struct complex */
complex cnum1, cnum2, mul;
printf("Enter real and imaginary part of first complex number:\n");
scanf("%f%f", &cnum1.real, &cnum1.imaginary);
printf("Enter real and imaginary part of second complex number:\n");
scanf("%f%f", &cnum2.real, &cnum2.imaginary);

mul = add(&cnum1, &cnum2);

printf("SUM = %0.2f + i %0.2f", mul.real, mul.imaginary);

return 0;
}

/* Function Definition */
complex add(complex *p, complex *q)
{
complex temp;
temp.real = p->real + q->real;
temp.imaginary = p->real + q->imaginary;
return temp;
}
``````

To understand the working of structure and pointer, we encourage you to read code explanation for how to multiply two complex number using structure, typedef and pointer?

Output

```Enter real and imaginary part of first complex number:
1
2
Enter real and imaginary part of second complex number:
2
3
SUM = 3.00 + i 4.00
```