I not understand what's mean unsigned char field[1];
#define FLGX (224)  
struct game {
    unsigned char field_width;
    unsigned char field_height;
    unsigned char field[1]; 
};                       
  
#define GETPOS(g,x,y) (g->field[(g->field_width + 2) * ((y)+1) + ((x)+1)] & (0xff ^ FLGX))
 
     
    