Studiando le basi delle liste mi sono imbattuto in questa dichiarazione che francamente mi è poco chiara:

codice:
struct elemento *pun;
Che viene inserito all'intero della seguente creazione della struttura "elemento"

codice:
struct elemento {
   int inf;
   struct elemento *pun;
}
Non riesco a capire cosa c'entri la parola chiave struct davanti alla dichiarazione elemento *pun;.

L'unica spiegazione che mi sono dato è che struct in questo caso è usato come una sorta di modificatore e non come strumento per la creazione di un nuovo tipo.

E' corretto??
Illuminatemi.



tnx