struct tag2 
{
 int i;
 int *j;  
};

struct tag1 
{
 int *a;
 int b;
};
 
void main ()
 {
  struct tag2   p, *r ;
  struct tag1  *u,  v ;
  int x, y, *z ;


  z    =  &x ;
 
  p.j  =  &y ; 
  r->j =  &x ;
  
  u->a =  &x ;
  v.a  =  &y ;

  y = *z;
  *z = 12;
  
  r = &v;
  u = &p;
/*  r = u; */
   
  return 0;
 }
