Originariamente inviato da toni00c
dunque usare la typedef in questo modo è sbagliato?
No, ma se usi la typedef in quel modo la struct rimane anonima e l'unico tipo di dato è quello che specifichi con la typedef. Per intenderci, se scrivi

codice:
typedef struct {
char nome [11] ;
int resi ;
} oggetto ;
l'unico modo che hai per riferirti a quel tipo struttura è attaverso "oggetto", questo perché in pratica stai dichiarando un tipo strutturato anonimo (in quanto dopo la keyword "struct" non c'è alcun nome ma direttamente la sua definizione) per poi ridefinirlo utilizzando la typedef. Se invece avessi scritto una cosa come

codice:
typedef struct _oggetto {
char nome [11];
int resi ;
} oggetto;
allora avresti potuto riferiti al tipo strutturato sia con "struct _oggetto" che con "oggetto", in quanto in questo caso si definisce non solo il tipo "oggetto" con la typedef ma anche il tipo "struct _oggetto", dato che è stato assegnato un nome alla struct.