我自己编的个c语言,是关于链队列最简单的,但是我就是早找不出问题在哪?

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:05:35
#include<stdio.h>
#include<malloc.h>
#define ERROR -1
#define OVERFLOW -2
#define OK 1
typedef int QElemType;
QElemType i;

typedef struct QNode{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;

typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkQueue;

int InitQueue(LinkQueue &Q){
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
if(!Q.front)
return OVERFLOW;
Q.front->next=NULL;
return OK;
}

int DestroyQueue(LinkQueue &Q){
while(Q.front){
Q.rear=Q.front->next;
free(Q.front);
Q.front=Q.rear;
}
return OK;
}

int EnQueue(LinkQueue &Q,QElemType e){
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
if(!p)
return ERROR;
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
return OK;
}

int DeQueue

int DeQueue(LinkQueue &Q,QElemType &e){
QueuePtr p;
if(Q.rear==Q.front)
return ERROR;
p=Q.front->next;
e=p->data;
Q.front->next=p->next;
if(p==Q.rear)
Q.rear=Q.front;
free(p);
return OK;
}

= 号改为 ==

贴上来编译报错信息

p.s.C语言吗?为什么函数参数用的C++的引用?

#include "stdio.h"
#include "stdlib.h"

typedef struct Ncode{
int Number;
struct Ncode *next;
}Ncode;

void main()
{
Ncode *head,*reat;
int i;
head=malloc(sizeof(Ncode));
reat=head;
if(!head) exit(0);
for(i=0;;i++){
scanf("%d",&reat->Number);
if(reat->Number==0) break;
reat=reat->next=malloc(sizeof(Ncode));
reat->next=NULL;
}
for(i