无法使用数组

时间:2018-06-18 20:19:48

标签: c function queue malloc

我正在尝试将数据排入使用

创建的循环队列中
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");
}

每当我尝试输入一些数据时,我的程序崩溃了。程序中的问题在哪里?

0 个答案:

没有答案