我正在尝试将数据排入使用
创建的循环队列中struct Arrayqueue
{
int front,rear;
int capacity;
int *array;
}*queue;
struct Arrayqueue* create()
{
int data;
struct Arrayqueue* queue=malloc(sizeof(struct Arrayqueue));
printf("\nWrite the capacity of queue: ");
scanf("%d",&data);
queue->capacity=data;
queue->front=queue->rear=-1;
queue->array=malloc( queue->capacity * sizeof(int));
return(queue);
}
我能够处理创建功能。这是我的入队功能
int isFull(){
if((queue->rear+1)%queue->capacity==queue->front)
return 1;
else
return 0;
}
void enqueue()
{
int data;
printf("Enter the data: ");
scanf("%d",&data);
if(!isFull()){
queue->rear=(queue->rear+1)%queue->capacity;
queue->array[queue->rear]=data;
if(queue->front==-1)
queue->front=queue->rear;
}
else
printf("\nQueue is full\n");
}
每当我尝试输入一些数据时,我的程序崩溃了。程序中的问题在哪里?