codice:
strcpy(array[i].cognome, cognome);
strcpy(array[i].nome, nome);
array[i].dd = dd;
array[i].mm = mm;
array[i].aa = aa;
array[i].voto = voto;
Meglio
codice:
initEl(array+i, cognome, nome, dd, mm, aa, voto);
void initEl(struct (??)*e, char *cognome, char *nome, int dd, int mm, int aa, char voto) {
  strcpy(e->cognome, cognome);
  strcpy(e->nome, nome);
  e->dd = dd;
  e->mm = mm;
  e->aa = aa;
  e->voto = voto;
}