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:
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;
Dunque, quando inizializzo una nuova scheda, faccio semplicemente una:
codice:
scheda_t * res=(scheda_t*)calloc(1, sizeof(scheda_t));
res->autore = NULL; /*è un puntatore, va inizializzato a NULL*/
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!