# C Program to Add Two Complex Numbers by Passing Structure to a Function

In this example, you will learn to take two complex numbers as structures and add them by creating a user-defined function.

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

``````#include <stdio.h>
typedef struct complex {
float real;
float imag;
} complex;

int main() {
complex n1, n2, result;

printf("For 1st complex number \n");
printf("Enter the real and imaginary parts: ");
scanf("%f %f", &n1.real, &n1.imag);
printf("\nFor 2nd complex number \n");
printf("Enter the real and imaginary parts: ");
scanf("%f %f", &n2.real, &n2.imag);

printf("Sum = %.1f + %.1fi", result.real, result.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 the real and imaginary parts: 2.1
-2.3

For 2nd complex number
Enter the real and imaginary parts: 5.6
23.2
Sum = 7.7 + 20.9i
```

In this program, a structure named` complex` is declared. It has two members: real and imag. We then created two variables n1 and n2 from this structure.

These two structure variables are passed to the `add()` function. The function computes the sum and returns the structure containing the sum.

Finally, the sum of complex numbers is printed from the `main()` function.