Okay as per my question 2, doubt is
now u have declared *p =2;
then shouldn't this also mean p=2......Now correct me if i am wrong
my question was why when i define
int *p =1; it takes p =1
and while it not the same other way round *p=2;
Shouldn't it mean that val pointed by p is 2 in both the cases....