所以,我写了一个插入队列的函数,即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'.
我不明白为什么参数不匹配。因为我传递了数组的地址并在指针变量中接收它并使用指针。那么怎么会有错误呢?