你的结构体定义有点问题。。。你的头尾指针怎么可能是int型,应该是指向队列结构体型,写成下面这样会比较好,那个取头元素的方法你可以再琢磨下,不难的,链式存取画图就很好理解,下面这个对你更有用。
typedef struct QNode
{
QElemType data;
struct Qnode *next;
}QNode, * QueuePtr;
typedef struct
{
QueuePtr front; //队头指针
QueuePtr rear; //队尾指针
}LinkQueue;
if (q->front == q->rear) return ERROR; //队空则出错
*e=q->base [q->front]; //取队头元素
return OK;
*e=q->base [q->front];
return OK; //或者true