C 请用squart解释一些示例代码
有人能解释一下下面的代码是做什么的吗?我是编程新手,目前正在学习C 常数void*a 返回*int*a-*int*b qsort值,6,sizeofint,比较 输出 这给出了:10,20,25,40,90100C 请用squart解释一些示例代码,c,compare,C,Compare,有人能解释一下下面的代码是做什么的吗?我是编程新手,目前正在学习C 常数void*a 返回*int*a-*int*b qsort值,6,sizeofint,比较 输出 这给出了:10,20,25,40,90100 const void * a 表示传递给函数的参数是指向void类型的指针,其值为只读 这一行: ( *(int*)a - *(int*)b ); 解引用传递指针,将其解释为指向int的指针,并计算这些值之间的差异 这是: qsort (values, 6, sizeof(int)
const void * a
表示传递给函数的参数是指向void类型的指针,其值为只读
这一行:
( *(int*)a - *(int*)b );
解引用传递指针,将其解释为指向int的指针,并计算这些值之间的差异
这是:
qsort (values, 6, sizeof(int), compare);
是对标准库的qsort函数的调用,其中compare是实际比较值的函数。qsort使用compare函数执行比较,对长度为6 int的数组值进行排序。您的代码来自
qsort (values, 6, sizeof(int), compare);