我需要对指向结构的指针数组进行排序。事实上,我需要在地址之间进行搜索,以查看数组中是否存在指向结构的给定指针。不幸的是,我在这些结构中没有任何“可比”的东西,所以我只想按地址对它们进行排序。我的代码是这样的:
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 作为返回值。