![](/img/trans.png)
[英]Write compare function to qsort to order array of structs by specified field?
[英]Qsort array of structs compare function
好的,我可以通过在线浏览等方式使它起作用,但是有人可以解释编号为1和2的行的确切含义以及为什么需要它们
int structCompare(const void *a, const void *b)
{
struct trade *tempA = (struct trade *)a;//(1)
struct trade *tempB = (struct trade *)b;//(2)
return strcmp(tempA->name, tempB->name);
}
这些行将通用void
指针转换为struct trade
指针。 当涉及void *
时,显式强制转换在C中是多余的,应将其消除:
struct trade *tempA = a;
struct trade *tempB = b;
return strcmp(tempA->name, tempB->name);
您可能已经写过:
return strcmp(((struct trade *)a)->name, ((struct trade *)b)->name);
我更喜欢第一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.