gpt4 book ai didi

将结构内的元素与 C 中的空指针值进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:45 25 4
gpt4 key购买 nike

我需要创建一个接收结构指针和空指针的函数,如果元素在结构上,它返回 1。

typedef struct {
char *sx;
int val, code, qtty;
char abc [20];
} ST_DAT;

int compare (ST_DAT *, void *);

这是比较双链表中节点的程序的一部分,但此函数用作:

int (*pfun)(ST_DAT *, void *));

问题是,在我找到或找不到里面的值之前,我不知道如何将 void * 与其他值进行比较。

int compare (ST_DAT *stData, void *key)
{
if (key == (*stData).val || key == (*stData).code || key == (*stData).qtty || strcmp (key,(*stData).abc) || strcmp (key,(*stData).sx) )
{
return 1;
}else{
return 0;
}
}

这是正确的吗?

最佳答案

(*stData).valint 类型,因此需要将 key 转换为 int * 然后像这样取消引用:

*(int *)key == (*stData).val

关于将结构内的元素与 C 中的空指针值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797655/

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