1 struct S 2 { 3 int *sp, fc, *sc, a[2]; 4 }; 5 f(struct S * x)6f (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 main()22main () 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 } 34