我在qsort
中使用int
struct
数组。
struct venue {
int Pos;
int *number;
};
int cmpfunc(const void * a, const void * b) {
return ( *(int*) a - *(int*) b);
}
我通过以下方式分配int
数组内存:
newvenue.number = (int*)malloc(1000000 * sizeof (int));
并运行qsort
函数,
qsort(venueArray[i].number, (venueArray[i].Pos + 1), sizeof (int), cmpfunc);
venueArray[i].Pos
计算venueArray.number
中的总元素数。我很想知道我应该更改cmpfunc
,因为我在int
而不是struct
数组中排序int
数组
当我使用小样本时,此代码工作正常,但在每个venueArray.number
[1] 32132分段错误