如何反映对调用者

时间:2017-03-05 16:12:20

标签: c struct linked-list queue

我目前正在尝试使用结构的链接列表来实现队列数据结构。目前,我有一个链表的节点结构:

struct Node { int data; struct Node *next; };

我还有一个插入,删除和显示功能来更改/访问队列。以下是他们的签名:

void insert(int, struct Node*, struct Node*);
void delete(struct Node*);
void display(struct Node*);

我无法将这些功能所做的更改反映到队列中。在我的main函数中,我声明了两个Node指针:

struct Node *front = NULL;
struct Node *rear = NULL;

我用它来跟踪队列中的前后节点。我将它们传递给了上面的功能。在完成所有这些操作时,似乎前端指针永远不会更新,并且即使在调用我的函数后也保持为NULL,因此显示和删除从不真正起作用,并且插入不反映所做的添加。

然而,当我声明我的结构时:

struct Node { int data; struct Node *next; } *front = NULL, *rear = NULL;

我不会传递任何Node*的论据,一切正常。那是为什么?

编辑:我不认为我指定了,但我试图不使用我的结构的第二个版本;我不希望全局声明前/后节点指针(我认为这就是所谓的)。

0 个答案:

没有答案