Dove è definita la struttura
complex
?
All'interno del main, quindi è "visibile solo in quello scope. Porta sem'plicemente la definizione in cima al file, prima del prototipo della tua funzione e ti compilerà tranquillamente
#include<stdio.h>
struct complex
{
double real;
double imag;
};
struct complex add_complex(struct complex c1, struct complex c2);
int main(void)
{
struct complex c1, c2, c3;
struct complex sum = add_complex(c1, c2);
printf("real %g\nimag %g", c3.real, c3.imag);
return 0;
}
struct complex add_complex(struct complex c1, struct complex c2)
{
struct complex sum;
sum.real = c1.real + c2.real;
sum.imag = c1.imag + c2.imag;
}
Inoltre la tua funzione
add_complex
deve ritornare un valore.....
struct complex add_complex(struct complex c1, struct complex c2)
{
struct complex sum;
sum.real = c1.real + c2.real;
sum.imag = c1.imag + c2.imag;
return sum;
}
Nella definizione delle variabili nel main
struct complex c1, c2, c3;
manca il ; alla fine.
In fine stai passando alla funzione due variabili non inizializzate c1 e c2, per poi stampare i valori di c3..........