inoltre la struttura "data" ha qualcosa che non va, oltre al fatto della dichiarazione senza typedef (che ti obbliga ad anteporre sempre "struct" al tipo), ma il campo mese non è una scelta furba per innumerevoli motivi.
molto meglio utilizzare una serie di define:
#define GENNAIO 1
#define FEBBRAIO 2
...
e poi fare
typedef struct data_s {
int iGiorno;
int iAnno;
int iMese;
} data_t;
data_t data;
data.iMese = GENNAIO;
in questo modo eviti di avere un puntatore vagante che è sempre una brutta cosa, ma se proprio proprio ti sei innamorato del mese scritto in forma di stringa, sarebbe più furbo fare così:
typedef struct data_s {
int iGiorno;
int iAnno;
char pMese[16];
} data_t;
però te lo ripeto: non è una cosa furba.
inoltre con il primo approccio che ti ho consigliato, puoi anche fare qualcosa di questo genere:
char *pMeseMapper[] = {"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" };
per stampare il nome del mese:
printf("Il mese è %s\n", pMeseMapper[domani.iMese]);
spero tu faccia tesoro di questi consigli