This program takes two complex numbers as structures and adds them with the use of functions.

To understand this example, you should have the knowledge of following C programming topics:

```
#include <stdio.h>
typedef struct complex
{
float real;
float imag;
} complex;
complex add(complex n1,complex n2);
int main()
{
complex n1, n2, temp;
printf("For 1st complex number \n");
printf("Enter real and imaginary part respectively:\n");
scanf("%f %f", &n1.real, &n1.imag);
printf("\nFor 2nd complex number \n");
printf("Enter real and imaginary part respectively:\n");
scanf("%f %f", &n2.real, &n2.imag);
temp = add(n1, n2);
printf("Sum = %.1f + %.1fi", temp.real, temp.imag);
return 0;
}
complex add(complex n1, complex n2)
{
complex temp;
temp.real = n1.real + n2.real;
temp.imag = n1.imag + n2.imag;
return(temp);
}
```

**Output**

For 1st complex number Enter real and imaginary part respectively: 2.3 4.5 For 2nd complex number Enter real and imaginary part respectively: 3.4 5 Sum = 5.7 + 9.5i

In this program, structures `n1` and `n2` are passed as an argument of function `add()`

.

This function computes the sum and returns the structure variable `temp` to the `main()`

function.