1  extern void abort (void);
       2  
       3  struct container
       4  {
       5    unsigned char data[1];
       6  };
       7  
       8  unsigned char space[6] = {1, 2, 3, 4, 5, 6};
       9  
      10  int
      11  foo (struct container *p)
      12  {
      13    return p->data[4];
      14  }
      15  
      16  int
      17  main ()
      18  {
      19    if (foo ((struct container *) space) != 5)
      20      abort ();
      21    return 0;
      22  }