EdgarVillier
07-04-2009, 20:37
Ho trovato su libro un esempio in C che non ho capito, ed'č sull'allocazione dinamica di una struct, nel libro la effettua cosė :
link t = malloc(sizeof * t);
Dove link č definito nel seguente modo :
typedef struct node* link; struct node{ int info; link next;}
Non capisco la sintassi in malloc(), da quello che sapevo sizeof(tipo_di_dato) accettava in ingresso il tipo di dato e lui ne restituisce la dimensione, ma qui non ho capisco lo si moltiplica per un puntatore a t??
Dalle mie conoscenze precedenti l'allocazione di una struttura aveva la seguente sintassi :
link t =(link) malloc(sizeof(node));
Dove si faceva il cast alla funzione malloc del tipo di dato(link).
Grazie a tutti
link t = malloc(sizeof * t);
Dove link č definito nel seguente modo :
typedef struct node* link; struct node{ int info; link next;}
Non capisco la sintassi in malloc(), da quello che sapevo sizeof(tipo_di_dato) accettava in ingresso il tipo di dato e lui ne restituisce la dimensione, ma qui non ho capisco lo si moltiplica per un puntatore a t??
Dalle mie conoscenze precedenti l'allocazione di una struttura aveva la seguente sintassi :
link t =(link) malloc(sizeof(node));
Dove si faceva il cast alla funzione malloc del tipo di dato(link).
Grazie a tutti