Има няколко очевидни начина за използване на qsort
: cast в сравнението:
int cmp(const void *v1, const void *v2)
{
const double *d1 = v1, *d2 = v2;
⋮
}
qsort(p, n, sizeof(double), cmp);
или хвърлете компаратора:
int cmp(const double *d1, const double *d2)
{
⋮
}
qsort(p, n, sizeof(double), (int (*)(const void *, const void *))cmp);
Склонен съм да използвам първото, повече от естетически причини, отколкото от нещо друго. Има ли някакви технически причини за предпочитане на едното пред другото?