不一定要定义成指针类型,定义成int是为了使用下标,像线性表一样,不同的是数据出队后不用大量移动元素,只要修改下标值就行了
QUEUE qtest;
那么qtest[front]就指向队列头部
这个你需要考虑到结构体内存占用的存储问题。
比如你定义一个结构体
{
int *pbase;
char front;
int rear;
char que;
}
和结构体
{
int *pbase;
char front;
char que;
int rear;
}
两个看起来占用内存是一样的,但是实际是不同的,电脑读取数据是按默认4字节4字节的走,第一个结构体占用的内存是16字节,而第二个结构体占用的是12内存。当然电脑读多少字节这个可以自己修改
像你问题里面的结构体成员全都是int型变量定义的,用int申请就可以使用结构体数组的下标法来定义
因为这是顺序式的存储结构,可以用pbase + front来访问,所以只需要知道结构体数组的小标就可以了