1 struct s { char *p; int t; }; 2 3 extern void bar (void); 4 extern void foo (struct s *); 5 main(void)6int main(void) 7 { 8 bar (); 9 bar (); 10 exit (0); 11 } 12 13 void bar(void)14bar (void) 15 { 16 foo (& (struct s) { "hi", 1 }); 17 } 18 foo(struct s * p)19void foo (struct s *p) 20 { 21 if (p->t != 1) 22 abort(); 23 p->t = 2; 24 } 25