Existen en la libreria stdlib.h dos funciones cuyo nombre son bsearch y qsort para realizar una busqueda de un elemente en un vector y ordenar un vector respectivamente.
Lo que intento hacer es realizar my propia version de las dos (por un pedido que me hicieron )respetando los prototipos de las originales. Cuando intente hacer la primera me fije que uno de los parametros es const void *base, por ejemplo. Yo queria saber como se manejas estos tipos de parametros??
Yo estaba haciendo esto:
void * mybsearch(const void *key,const void* base,size_t nmemb,size_t size,int(*compare)(const void*,const void *)){
int mitad;
if (!base)
{
mitad=nmemb/size/2;
if ((*compare)(base[mitad],key)==0) /*/
return base;
else if ((*compare)(base[mitad],key)< 0)
bsearch(key,base,size*mitad,size,comparar);
else
bsearch(key,base[mitad],size*mitad,size,comparar); /*/
}
return NULL;
}
Y lo que estan /*/ es donde da error y es donde tengo la duda
Y otra consulta es si hay alguna forma de saber cuantos bit entra en un byte, a traves de alguna funcion??
Desde ya muchas gracias