大样本的qsort错误

时间:2016-05-19 07:52:53

标签: c qsort

我在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

中使用大样本(例如100 000值)将失败
  

[1] 32132分段错误

0 个答案:

没有答案