Tu non hai mai dichiarato un array di elementi.
Dovresti avere una dichiarazione del tipo
struct main_agenda agenda[N];
in cui N e' il numero massimo di elementi dell'agenda.
Oppure dovresti lavorare con un puntatore alla struttura per gestire l'allocazione e la riallocazione della memoria relativa all'array quando serve. E quindi dovresti avere un qualcosa del tipo
struct main_agenda *agenda;
con la conseguente allocazione dell'area necessaria.
In piu', l'array di strutture non deve essere locale alla funzione visualizza ma esterno e passato per puntatore alla funzione visualizza.
Insomma ... il codice e' ampiamente da rivedere ...