> As any problem can be expressed in C, how would what the author did look like in C? KISS
This is C.
void * bsearch (const void *key, const void *array, size_t count, size_t size, comparison_fn_t compare)
How do you express "the thing you get back has the same type as the thing you're looking for"?