请问这个函数前两个语句是在对指针做一个怎样的处理?
int compare(const void *a, const void *b)
{
team_t *ta = (team_t *)a;
team_t *tb = (team_t *)b;
if (ta->score != tb->score)
return tb->score - ta->score;
if (ta->net_score != tb->net_score)
return tb->net_score - ta->net_score;
return strcmp(ta->name, tb->name);
}
强制类型转换,这段代码中的强制类型转化是用来将指针类型转化成team_t类型,以便能够比较team_t的score和net_score的值以及name的值。
函数的两个形参是无数据类型的指针,函数前两个语句是对两个形参作强制类型转换,转换为team_t类型的指针。