datatype dequeue(cirqueue *q){datatype temp;if(queueempty(q))error(“queue underflow”);temp=q–>data[q–>front];q–>count--;q–front=(q–>front+1)%queuesize;return temp;}这一句怎么理解: q–front=(q–>front+1)%queuesize;那q->front=q->front+1就够了,为什么还要对queuesize求余。
2 回答
隔江千里
TA贡献1906条经验 获得超10个赞
q–front=(q–>front+1)%queuesize;
是错的
q->front=(q->front+1)%queuesize;
才对,
这句话说明
q是指针,他指向一个结构体类型的变量(可能是共用体类型的变量),而这类型里定义一整形变量front。
q引用变量front,使front原来的值加1然后对queuesize变量求余,并赋给q所引用的front 可以抽象的理解为front=(front+1)%queuesize
那你说n=10, n=n+1和n=(n+1)%5 的意义是一样的吗? 显然不一样,这要看你的程序主要是干嘛用的。
添加回答
举报
0/150
提交
取消