struct 
{ 
   char data_id; 
   union 
   { 
      char c; 
      int i; 
   } data; <b>// is 'data' allowed here??</b>
} message; 

void main (void) 
{ 
... 
message.data_id = 0; // This works 
message.data.c = 0;  // => Syntax error (It doesn't compile) 
... 
}