1  struct S
       2  {
       3    int *sp, fc, *sc, a[2];
       4  };
       5  
       6  f (struct S *x)
       7  {
       8    int *t = x->sc;
       9    int t1 = t[0];
      10    int t2 = t[1];
      11    int t3 = t[2];
      12    int a0 = x->a[0];
      13    int a1 = x->a[1];
      14    t[2] = t1;
      15    t[0] = a1;
      16    x->a[1] = a0;
      17    x->a[0] = t3;
      18    x->fc = t2;
      19    x->sp = t;
      20  }
      21  
      22  main ()
      23  {
      24    struct S s;
      25    static int sc[3] = {2, 3, 4};
      26    s.sc = sc;
      27    s.a[0] = 10;
      28    s.a[1] = 11;
      29    f (&s);
      30    if (s.sp[2] != 2)
      31      abort ();
      32    exit (0);
      33  }