LISTE: INIZIALIZZAZIONE

di Anonimizzato12350 il
2 risposte
Ciao a tutti,
quando dichiariamo una struttura:
EX:
struct node{
                        int value;
                        struct nodo *next; 
                        }; 
abbiamo bisogno di tenere traccia del punto in cui inizia la lista. In altre parole abbiamo bisogno di una variabile che punti sempre al primo nodo della lista. Le seguenti inizializzazioni, risultano essere equivalenti?
struct node *first = NULL;
struct node *first;

2 Risposte

  • Le due istruzioni portano a due risultati simili ma diversi: con la prima crei un puntatore a cui assegni il valore NULL. Con la seconda crei un puntatore che conterrà un valore casuale.
    Le due righe possono essere considerate equivalenti se poi consideri che dovrai creare gli elementi della lista (es attraverso una malloc) e che quindi dovrai assegnare loro un valore:
    
    first = (struct node*) malloc(sizeof(struct node));
    
    In questo caso non importa se hai creato "first" nel primo modo o nel secondo..
  • Grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte