Il problema non si trova solo su quella parte, te ne illustro alcuni:
- Hai omesso il nome della funzione
- Se vuoi accedere ai membri del singolo libro contenuto nella libreria non puoi usare
array[i].inf_libri.prezzo
ma dovrai usarearray->inf_libri[i].prezzo
(la->
si usa per accedere all'elemento nel caso si stia utilizzando un puntatore). - Quì
pf=malloc(sizeof(libreria_t)*cont);
stai allocando un array di puntatori su delle librerie, mentre quello che tu vuoi fare è allocare un array di libri, quindipf = malloc(sizeof(libri_t) * cont);
in fine dovrai tramutare il puntatore su questo array in una libreria. - Non è un errore ma per una questione di leggibilità puoi abbreviare
(*(pf + j))
inpf[j]
(però è scorretto il motodo in cui ti stai iterando su quell'array).