从bsearch和lfind确定索引?
我试图在lfind和bsearch返回指向它找到的元素的指针之后获取数组中元素的索引。 到目前为止我有这个:
(char *) (found - cv->baseAddress);
找到的是函数找到的地址,基址是元素0的地址。但是,编译器给出了这个错误:
cvector.c:150:28:警告:减法中使用的’void *’类型的指针cvector.c:150:4:warning:return从指针生成整数而没有强制转换
我该怎么办?
您必须将返回的指针类型转换为正确的类型。 然后,您还需要将获得的偏移量除以数组中对象的大小以获取索引。