gpt4 book ai didi

c - 重用现有的链表 API 实现

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:59 25 4
gpt4 key购买 nike

我在已有的源码库中,链表实现(加节点、插入、删除、遍历)结构如下:

typedef struct tagDirInfo
{
char *pdirName;
struct tagDirInfo *__next;
struct tagDirInfo *__prev;
}DIR_HEADER;

假设 char* pdirName 指向数据部分我想对数据部分进行总结并重用现有的 API,因此,新的链表结构的数据部分为:

typedef struct printJob
{
char labelName[BUF_LEN];
int priStatus;
time_t time_stamp;
}PRINTJOB;

我想如果我这样做:

PRINTJOB newJob;
/* Fill in newJob structure */
DIR_HEADER *newNode;
newNode->pdirName = (char*)newJob;
newNode->__next = NULL;
newNode->__prev = NULL;

这样做,将填充链表结构。

但是如何通过链表结构的pdirName域访问labelName数据域呢?

最佳答案

你是说你想做这样的事情:

printf("labelName : %s\n", ((PRINTJOB *)(newNode->pdirName))->labelName);

但是,您的代码有一个错误!要更正它:

改变

newNode->pdirName = (char*)newJob;

newNode->pdirName = (char*)&newJob;

关于c - 重用现有的链表 API 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648020/

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