[C++] inizializzazione struct
Ciao a tutti.
Ho una domanda:
Ho 2 struct:
Prima:
La seconda definita' così:
Come inizializzazione ho: nel primo caso:
un semplice
nel secondo caso:
Sono entrambi puntatori ad una struttura, perchè uno vene semplicemente messo = NULL e l'altro ha bisogno di essere istanziato? forse perchè dentro la "pancia " della struct c'è un puntatore ad un'altra struct che deve essere creata?
Qualcuno puo' spiegarmi per favore?
Ho una domanda:
Ho 2 struct:
Prima:
struct nodo; typedef node *tree; struct nodo{ char c; tree left; tree right; }
La seconda definita' così:
struct elemento{ char val; } struct array{ int dim; elemento *elementi[100]; } typedef array *collezione;
Come inizializzazione ho: nel primo caso:
un semplice
void init(tree &t){ t=NULL; }
nel secondo caso:
void init(collezione &c){ c=new array; c->dim =0; }
Sono entrambi puntatori ad una struttura, perchè uno vene semplicemente messo = NULL e l'altro ha bisogno di essere istanziato? forse perchè dentro la "pancia " della struct c'è un puntatore ad un'altra struct che deve essere creata?
Qualcuno puo' spiegarmi per favore?
Risposte
Il tipo di inizializzazione dipende dall'uso che si fa della struttura. Puoi inizializzare una struttura (o un puntatore ad essa) come meglio credi. Personalmente avrei ad esempio usato la struttura array in modo completamente diverso.