title: Is it a better practice to typecast the pointer returned by malloc?
body: <p>For the C code below, compare the defintions of the int pointers a and b; </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  int main()
  {
    int *a=malloc(sizeof(int));
    int *b=(int *)malloc(sizeof(int));
    return(0);
  }
  </code></pre>
  
  <p>Is it better in any way to typecast the pointer of type void, returned by the malloc function? 
  Or is it auto-typecasted while assigning to the int pointer on the left hand side? 
  Under which circumstances, if any, can it prove to be necessary rather than just obligatory? </p>
  
  <p>Please clarify whether implicit type casting, where type of right hand side is converted to type of the left hand side, applies here.</p>