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 ...