Solution 1 ---------- 1) No pointer information is missing. The pointer information (x -> p) is propagated after call to function f. 2) (x->p) after function f, gets killed because of statement x=&q. Therefore, information x->q is propagated beyond second call of function f. 3) The information x->p is propagated beyond first call to function f1. But the statement after first call to f (x = &q) kills the pointer information x->p and generates x->q which is propagated beyond second call to function f.