title: How is the bsearch() function in the standard C library implemented?
body: <p>Does anyone know how the standard binary search function is implemented?</p>
  
  <p>This is the prototype.</p>
  
  <pre><code>void * bsearch (const void*, const void*, size_t, size_t, int (*) (const void *, const void *) );
  </code></pre>
  
  <p>I'm really curious about how they used void pointers.</p>