KaJZ
26-06-2011, 19:25
Ciao a tutti,
Stavo leggendo il codice di un esercizio svolto, vi incollo solo piccole frazioni che non capisco:
typedef struct nodolista{
Persona info;
struct nodolista *next;
}NodoLista;
Dunque, questa sopra è la lista, sotto invece c'è un typedef:
typedef NodoLista *TipoLista;
Secondo voi questo typedef è da leggersi come:
1) typedef (NodoLista *) TipoLista;
e quindi, tradotto in italiano: TipoLista è un alias della variabile puntatore NodoLista.
... oppure:
2) typedef NodoLista *TipoLista; quindi: "TipoLista è un alias puntatore della variabile NodoLista".
Penso di aver capito che l'operatore star (*) possa essere messo sia a destra che a sinistra in base a qualcosa che mi sfugge. :)
Il dubbio sorge dal fatto che in una funzione viene posta questa dichiarazione:
TipoLista aux;
Ora, dunque, perché non c'è il * davanti l'aux?
Stavo leggendo il codice di un esercizio svolto, vi incollo solo piccole frazioni che non capisco:
typedef struct nodolista{
Persona info;
struct nodolista *next;
}NodoLista;
Dunque, questa sopra è la lista, sotto invece c'è un typedef:
typedef NodoLista *TipoLista;
Secondo voi questo typedef è da leggersi come:
1) typedef (NodoLista *) TipoLista;
e quindi, tradotto in italiano: TipoLista è un alias della variabile puntatore NodoLista.
... oppure:
2) typedef NodoLista *TipoLista; quindi: "TipoLista è un alias puntatore della variabile NodoLista".
Penso di aver capito che l'operatore star (*) possa essere messo sia a destra che a sinistra in base a qualcosa che mi sfugge. :)
Il dubbio sorge dal fatto che in una funzione viene posta questa dichiarazione:
TipoLista aux;
Ora, dunque, perché non c'è il * davanti l'aux?