Мне нужно отсортировать массив указателей на структуру. На самом деле мне нужно выполнить поиск среди адресов, чтобы увидеть, присутствует ли данный указатель на структуру в массиве. К сожалению, внутри этих структур у меня нет ничего "сопоставимого", поэтому я хочу отсортировать их только по адресу. Мой код такой:
item* arr[SIZE];
//something is inserted
qsort(arr, SIZE, sizeof(item*), (void*)compare_funct);
//CUT
bsearch(curr, arr, SIZE, sizeof(item*), (void*)compare_funct);
Я попытался создать функцию compare_funct, просто указывая на int и возвращая их разницу, но, похоже, это не сработало. В частности, когда я выполняю bsearch, даже если я знаю, что элемент содержится внутри массива, я всегда получаю NULL в качестве возвращаемого значения.