Originariamente inviato da dybart
Salve a tutti potreste spiegarmi il significato delle righe chesto a elencarvi, sarà banale ma essendo alle prime armi con il c++ non riesco a capire cosa intendono...
Nodo è una struttura creata in precedenza mentre p è una variabile di tipo nodo...
E... potreste dirmi anche cosa si intende quando si ha un passaggio con l'operatore '->'
Grazie per l'attenzione spero di non essere statoi troppo banale...
Semplicemente alloca un'area di memoria grande quanto un nodo e ne restituisce il puntatore. La sizeof serve a sapere quanti byte occupa un nodo, mentre il cast (Nodo *) serve perchè la malloc restituisce un puntatore a un oggetto generico (di tipo void * e non Nodo *), mentre p è un puntatore a un nodo e non a un'area generica di memoria.
L'operatore freccia -> serve quando devi riferirti a un campo di un oggetto, o una struttura, di cui hai il puntatore:
codice:
struct Punto1
{
int x, y; //x e y sono dei numeri interi
}
struct Punto2
{
int *x;
int *y; //in questo caso x e y non contengono due numeri, ma due indirizzi di numeri
}
//supponendo di avere P di tipo Punto1 e PP di tipo Punto2
//se k è un intero, per assegnargli il valore della x si usa
k = P.x //nel primo caso (x è una variabile)
k = PP->x; //nell'altro caso è un puntatore: in questo modo accedi al valore