U sopposed memory location of i=100 ok
after int *pi=&i;// content of pointer p=100 .
&:- is address of operator
&i:-Reads as address of i which is equals to content of pi so we can write them interchangeably it wont effect the result.
Means &i is 100% same as writing only pi and here both returns address of i which is 100
so->>scanf("%d",&i); is same as scanf("%d",pi);
I can move one level more by taking int **ptr=π
and write scanf("%d",*ptr); which is same as above 2 defination of scanf.