Vediamo di chiarire:
codice:
struct libro
{
char titolo[30];
char autore[30];
};
Questa è una semplice struttura. Quando dovrai creare delle variabili di questa struttura, dovrai fare:
struct libro unLibro;
facendo invece:
codice:
typedef struct libro
{
char titolo[30];
char autore[30];
} LIBRO;
Puoi poi dichiarare:
LIBRO unLibro;
Nota che con la typedef, la parola 'libro' dopo struct la potresti anche togliere.
A quel punto potresti fare:
typedef LIBRO* PLIBRO;
e ottieni PLIBRO che è un nuovo tipo di dato che è un puntatore a LIBRO.