testa prima della chiamata della funzione, è stato allocato ?
Perchè se non è stato allocato è questo l' errore.

codice:
testa=(scrittore**)malloc(sizeof(scrittore*));