title: What Actually this line of code `ptr=(char *)&a;` does?
body: <p>I have the code :</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  void main(){
     int i;
     float a=5.2;
     char *ptr;
     ptr=(char *)&amp;a;
     for(i=0;i&lt;=3;i++)
        printf("%d ",*ptr++);
  }
  </code></pre>
  
  <p>I got the output as <code>102 102 -90 64</code>. I couldn't predict how it came, I get confused with this line <code>ptr=(char *)&amp;a;</code>. Can anyone explain me what it does? And as like other variables the code <code>*ptr++</code> increments? Or there is any other rule for pointers with this case. </p>
  
  <p>I'm a novice in C, so explain the answer in simple terms. Thanks in advance.</p>