Quote Originariamente inviata da oregon Visualizza il messaggio
Il casting è obbligatorio con il C++ ma non con il C.

@fedrock ... se il puntatore è di tipo

database *c;

se lo restituisci allora la funzione deve essere dello stesso tipo ovvero


database*p(int n)

e anche il puntatore restituito nel main deve essere dello stesso tipo


database*x = p(5);

Inoltre queste linee devono essere semplicemente


c[i].x = i;
c[i].y = i +1;
La mia idea di "restituzione di una struttura" era sbagliata: io credevo che bisognasse restituire l'indirizzo della prima "cella" di memoria dove avevo allocato la struttura con la malloc e quindi poi grazie all'indirizzo poter recupare la struttura ecco perché avevo dichiarato un int, perché alla fine credevo che un indirizzo di memoria non era nient'altro che un numero, evidentemente mi sono perso qualcosa farò diverse prove per farmi entrare il concetto.

Grazie, spero di saperne almeno la metà di quanto ne sai te un giorno