通过反复试验,我设法使以下字符串比较函数按预期与 qsort() 一起使用,但我真的不明白为什么在 (const char*) 强制转换表达式中需要星号。有人可以剖析和解释:-
int strCompare(const void *a, const void *b) {
return strcmp((const char*)a, (const char*)b);
}
附录:-
void findStrings(int * optionStats, char strings[][MAX_STRING_SIZE + 1], int numStrings)
{
qsort(strings, numStrings, 21*sizeof(char), strCompare);
}
有没有办法通过 strCompare() 消除对 strcmp() 的调用,而只使用 strcmp() 作为 qsort() 的参数?