PDA

Visualizza la versione completa : [C] doppio asterisco


raff5184
14-02-2009, 15:02
Ciao,
avrei un paio di domande sulla seguente funzione che serve a verificare se una lista è vuota:


bool vuota(NodoLista **lista){
return (*lista == NULL);
}

cos'è **lista?
*lista non è l'elemento contenuto dalla variabile puntatore lista? Quindi il controllo == null non andrebbe eseguito sul PUNTATORE e non sul suo elemento?

oregon
14-02-2009, 15:18
cos'è **lista?

E' un doppio puntatore a NodoLista ...

Pero' non sappiamo cosa sia NodoLista.


*lista non è l'elemento contenuto dalla variabile puntatore lista? Quindi il controllo == null non andrebbe eseguito sul PUNTATORE e non sul suo elemento?

*lista E' un puntatore a NodoLista ... quindi E' un puntatore.

raff5184
14-02-2009, 20:01
NodoLista è una struttura

Che intendi con doppio puntatore? E perché viene usato in questa struttura dati?

oregon
14-02-2009, 20:12
Originariamente inviato da raff5184
Che intendi con doppio puntatore?

Un doppio puntatore e' un puntatore a puntatore.


E perché viene usato in questa struttura dati?

Un puntatore a puntatore serve a poter accedere anche in modifica al puntatore.


Se non hai ancora acquisito il concetto di puntatore (e di puntatore doppio o triplo) ti consiglio di rivedere i capitoli relativi da un libro di C, magari seguendo gli esempi dello stesso.

raff5184
14-02-2009, 20:15
Originariamente inviato da oregon
Un puntatore a puntatore serve a poter accedere anche in modifica al puntatore.
chiaro! Grazie

Loading