title: Casting void pointers
body: <p>I've seen a lot of the following in older C code:</p>
  
  <pre><code>type_t *x = (type_t *) malloc(...);
  </code></pre>
  
  <p>What's the point of casting the pointer returned from <code>malloc()</code> since it's <code>void *</code>? Is it because older C compilers didn't support void pointers and <code>malloc()</code> used to return <code>char *</code> instead?</p>