[C++] inizializzazione struct

BoG3
Ciao a tutti.
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
apatriarca
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.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.