struct color {
  char red;
  char blue;
  char green;
};

typedef struct Point {
  int i;
  int j;
  struct color c;
} point;

point* new_point () {
  point* p = malloc(sizeof(point));
  p->i = p->j = 0; 
  p->c.red = p->c.blue = p->c.green = 0xFF;
  return p;
}

point* non_portable_new_point() {
  point* p = malloc(sizeof(point));
  char* q = (char*) p;
  q[0] = q[1] = q[2] = q[3] = 0x00;
  q[4] = q[5] = q[6] = q[7] = 0x00;
  q[8] = q[9] = q[10] = 0xFF;
  return p;
}
