title: Is casting free() argument to void * neccessary?
body: <p>Is it neccessary to cast the value passed to <code>free()</code> to a void pointer in this code snippet?</p>
  
  <pre><code>free((void *) np-&gt;defn);
  </code></pre>
  
  <p><code>np</code> is a <code>struct</code> in a linked list and <code>defn</code> is a <code>char *</code>.</p>