Ciao a tutti, in fase di esecuzione del mio programma, ricevo un errore di "segmentation fault", che presumo derivi dal fatto che non riesco ad allocare la memoria alla mia struttura. Posto un po di codice:
Strutture:
Dunque, quando inizializzo una nuova scheda, faccio semplicemente una:codice:typedef struct scheda { /** puntatore lista degli autori */ autore_t* autore; /** titolo */ char titolo[LLSTRING +1]; /** note */ char nota[LLSTRING+1]; /** collocazione nella biblioteca */ char collocazione[LSSTRING+1]; } scheda_t; typedef struct autore { /** cognome/i (almeno uno deve essere presente) */ char cognome[LCOGN +1]; /** nome/i (almeno uno deve essere presente) */ char nome [LNOME + 1]; /** puntatore al prossimo autore */ struct autore * next; } autore_t;
Così, dovrei aver allocato lo spazio necessario per OGNI campo della struct, giusto? Probabilmente l'errore è qui, perchè quando uso questa scheda allocata sopra, mi da un segmentation fault...E' corretta l'allocazione? Grazie in anticipo!codice:scheda_t * res=(scheda_t*)calloc(1, sizeof(scheda_t)); res->autore = NULL; /*è un puntatore, va inizializzato a NULL*/

Rispondi quotando
