Buona sera a tutti.

In questa porzione di codice quando arrivo alla fgets mi da errore di segmentazione, ma non capisco dove sia l'errore.

Codice PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 180

typedef struct elem {
        
char matr[10];          
        
char cognome[15];
        
char nome[15];
        
char esami[5];
        
char media[5];
        }
DATI;

void leggi_datiFILE*,int,DATI* );


int main ()
{
    
FILE *fin;
    
int valori=3;
    
DATI *struttura;    
    
    
struttura=(DATI*) malloc(valori*sizeof(DATI*));
      
    
fin=fopen("3.txt","r");
    
    
leggi_dati(fin,valori,struttura);
    
    
system("PAUSE");
    
    }



void leggi_dati(FILE *t,int dim,DATI *)
{
    
int i=0,m=0;
    
char *stringa;
        
    
stringa=(char *)malloc(MAX*sizeof(char *));
    
    
fgets(stringa,MAX,t);

    
// ...elaborazione stringa letta

Mi da errore anche se stringa è statica: char stringa[MAX];
Il file ha questa struttura:

23119#carpi#necar#4#23#19#18#20#
14348#carsta#dario#13#26#24#32#28#30#30#19#30#23#1 8#21#20#19#
27075#marco#chevi#17#20#28#30#25#25#23#32#27#27#32 #21#26#25#31#30#21#19#