In "C" una struttura può essere passata per valore oppure puoi passare l'indirizzo della struttura.
Un array invece viene sempre passato per indirizzo (indipendentemente dal tipo).
Quindi:
void funzione (struct Miastruttura *p) { ... }
oppure
void funzione (struct Miastruttura p[]) { ... }
(non cambia nulla)