gpt4 book ai didi

c - 对动态结构的动态数组进行 qsort

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:58 24 4
gpt4 key购买 nike

<分区>

我有以下结构

struct FOO {
int x;
double y;
}

和数组

FOO **manyfoos;
manyfoos = malloc( 10 * sizeof(FOO *) );

在这个manyfoos 被动态分配的FOO * 元素填充之后

manyfoos[i] = malloc( sizeof(FOO) );
manyfoos[i]->x = x;
manyfoos[i]->y = y;

我现在想用 qsort() 和下面的比较函数对 manyfoos 进行排序

int foocmp(const void * p, const void * q) {
const FOO * pp = (const FOO *)p;
const FOO * qq = (const FOO *)q;

return qq->x - pp->x;
}

不幸的是,以下命令给出了意外的结果(qq->xpp->x 是随机的奇怪数字)。

qsort(manyfoos, 10, sizeof(FOO *), foocmp);

我怎样才能使它按预期工作?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com