title: How can an address have multiple values?
body: <pre><code>int i[5]={0,1,2,3,4,};
  int *ip=&amp;i[0];
  printf("%d,%d,%d,%d,%d,%d,%d,%d",*ip,ip,&amp;ip,&amp;i,&amp;i[0],i,i[0],*(&amp;i));
  </code></pre>
  
  <p>The output of above piece of code that I got in my comp is</p>
  
  <pre><code>0,2358832,2358824,2358832,2358832,2358832,0,2358832
  </code></pre>
  
  <p>Observe that both <code>ip=&amp;i=2358832</code>
  but <code>*ip=0</code> and <code>*(&amp;i)=2358832</code>.
  How can one address, in this case 2358832, have two values? </p>