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)