Per favore mi spiegate come si scrive il codice di questa funzione?
void leggi_file(FILE *input, data **array, int *dim): nel file già aperto e non vuoto il cui puntatore è input sono presenti le informazioni nome-cognome-codice fiscale sotto forma di stringhe per un certo numero di utenti (ESEMPIO: Giuseppe Nappo nppgspmhl65t23c126a Marco Russo rssmrc68d13c129a Marta Verde vrdmrt73g19f123h). La funzione conta i record di tipo data (vedi di seguito la descrizione) presenti nel file (ATTENZIONE: il numero di record nel file non è noto), memorizza il numero di record (nell’esempio tale numero è 3) in dim, crea un vettore, con allocazione dinamica, composto da dim+1 elementi di tipo data (un elemento in più rispetto a quelli calcolati nel file), il cui indirizzo è memorizzato in array, infine copia i dati presenti nel file all’interno dell’array. Nel main la funzione è invocata nel seguente modo: leggi_file(input,&vect1,&dim_vect1) dove FILE *input; data *vect1; int dim_vect1.
typedef struct data{
char nome[20];
char cognome[20];
char cf[17];
}data;