所以,我写了一个插入队列的函数,即en_queue
。函数体是:
void en_queue(queue,max,front,rear)
{
int ch1;
printf("\n Enter element to add->");
scanf("%d",&ch1);
if(front==0 && rear==(max-1))
{
printf("\n Caution!! Queue Overflow!!");
}
else if(rear==(max-1) && front>0)
{
rear=0;
*queue[rear]=ch1;
}
else if(front==-1 && rear==-1)
{
front=rear=0;
*queue[rear]=0;
}
else
{
rear++;
*queue[rear]=ch1;
}
}
原型声明是:
void en_queue(int *,int, int, int);
在通话期间,我将其称为:
en_queue(queue,MAX,front,rear);
其中queue[MAX]
是数组 ( #define MAX 10
),MAX
是数组可以包含的元素数,两者front
和rear
都是具有当前值的整数-1
。我得到重复的错误type error: pointer expected
和Conflicting argument declarations for function 'en_queue'.
我不明白为什么参数不匹配。因为我传递了数组的地址并在指针变量中接收它并使用指针。那么怎么会有错误呢?