Una struttura del genere va bene?(Le variabili sono messe in memoria una dietro l'altra o ci sono dei buchi?)

codice:
typedef char stringa[50];

typedef struct record{
   stringa nome;
   stringa cognome;
   int anno;
   stringa id;
}record;
Quando faccio il confronto mi dice: Illegal operation