我无法弄明白,这是我到目前为止所拥有的.
但该函数Enqueue()不会更改main方法中的Head&Tail对象.
我该怎么做呢?
#include <stdio.h>
typedef struct queuenode{
int data;
struct queuenode *next;
} Queue_type;
void Enqueue( Queue_type *head, Queue_type *tail , int item)
{
Queue_type *temp;
temp->data = item;
temp->next = NULL;
if (tail == NULL){//if first node
head=temp;
tail=temp;
}
else{
tail->next = temp;
tail = temp;
}
}
void main(void)
{
Queue_type *Head;
Queue_type *Tail;
Head = NULL;
Tail = NULL;
printf("\n[*]Enter Number to Enqueue : ");
scanf("%d", &item);
Enqueue(Head, Tail, item);
}
Run Code Online (Sandbox Code Playgroud)
如何通过引用传递指针?通过引用传递:
void Enqueue( Queue_type *&head, Queue_type *&tail , int item)
Run Code Online (Sandbox Code Playgroud)
其他问题:
Queue_type *temp;
temp->data = item;
Run Code Online (Sandbox Code Playgroud)
是未定义的行为.
强制性链接.您正在C++环境中编写C代码.只是不要.
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |