the sorted input array
number of elements in the array
size of every element in bytes
function to compare two elements, search_data will always be passed as second argument
search mode that should be used
element that should be found
The address of the found element or null if nothing was found
Searches inside array for search_data by using the comparison function search_func. array must be sorted ascending.
As search_data is always passed as second argument to search_func it's not required that search_data has the same type as the array elements.
The complexity of this search function is O(log (num_elements)).