title: what is the difference between different kinds of pointer in C
body: <p>In C language,we can define different kinds of pointer such as:</p>
  
  <ul>
  <li><code>int *p</code></li>
  <li><code>char *p</code>
  all of them have the same size 4 bytes or 8 bytes. All of them can be used as a parameter for the printf("%s",p),so how the complier distinguish between them?</li>
  </ul>