这行代码在C编程中有什么作用?

代码 :-

pu->queue[ pu->rear = (pu->rear + 1) % pu->size ] = x;

我知道队列的工作原理,但我只是对数组索引值内的分配变量感到困惑。这是一个好习惯吗?那样有用吗?我无法编译,因为我没有完整的代码。

编辑:-解决了。但该代码确实可以编译。现在我可以访问代码本身,它编译时没有警告。

回答

它的简称

pu->rear = (pu->rear + 1) % pu->size;
pu->queue[pu->rear]
pu->rear = (pu->rear + 1) % pu->size;
pu->queue[pu->rear]

表达式返回一个值,因此可以在更大的表达式中使用。语句不返回值,因此不能在表达式中使用(没有do { }-style 构造)。表达式通常可以用作语句(它的返回值被丢弃)。

在某些语言中,赋值是语句。在其他情况下,赋值是表达式。在 C 中,赋值是表达式。它们返回存储的值。像这样,

pu->queue[ pu->rear = (pu->rear + 1) % pu->size ]

是简称

该代码似乎正在实现一个循环缓冲区。


以上是这行代码在C编程中有什么作用?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>