C语言,如图:结构体的队列中这个头节点与尾节点应该是一个指针吧。为什么要定义成一个int类型呢?

2024-11-29 02:18:19
推荐回答(3个)
回答1:

不一定要定义成指针类型,定义成int是为了使用下标,像线性表一样,不同的是数据出队后不用大量移动元素,只要修改下标值就行了
QUEUE qtest;
那么qtest[front]就指向队列头部

回答2:

这个你需要考虑到结构体内存占用的存储问题。
比如你定义一个结构体

int *pbase;
char front;
int rear;
char que;

和结构体

int *pbase;
char front;
char que;
int rear;

两个看起来占用内存是一样的,但是实际是不同的,电脑读取数据是按默认4字节4字节的走,第一个结构体占用的内存是16字节,而第二个结构体占用的是12内存。当然电脑读多少字节这个可以自己修改
像你问题里面的结构体成员全都是int型变量定义的,用int申请就可以使用结构体数组的下标法来定义

回答3:

因为这是顺序式的存储结构,可以用pbase + front来访问,所以只需要知道结构体数组的小标就可以了