typedef struct{
int *base;
int front;
int rear;
}Sqqueue;
Sqqueue Que;
void Initqueue(Sqqueue& Que)
{
Que.base=(int*)malloc(sizeof(int));
Que.front=Que.rear=0;
}
void Enqueue(Sqqueue &Que, int e)
{
Que.base[Que.rear]=e;
Que.rear=Que.rear+1;
}
int Dequeue(Sqqueue &Que)//出队列
{
int e;
e=Que.base[Que.front];
Que.front=Que.front+1;
return e;
}
请问一下,这个先进先出队列中,内存分配Que.base=(int*)malloc(sizeof(int))是否分太少了,从这句看,Que.base[Que.rear]=e;Que.base实际是一块连续的空间,存储多个int类型的数据,但是这里Que.base=(int*)malloc(sizeof(int))只分配了4个字节(一个int类型的存储空间即4个字节的空间),那应该运行中会出现内存错误啊,但是实际运行没有错误,请问是什么原因?