以下代码的含义是什么:
WORD len;
LWORD in;
LWORD out;
WORD buff_dlen(CBUFF *bp)
{
return((WORD)((bp->in - bp->out) & (bp->len - 1)));
}
我知道
bp->in - bp->out
意味着in
和out
之间的区别,但它与& (bp->len - 1);
有什么关系? 最佳答案
函数返回两倍幂的环形缓冲区中可供读取的空间。
关于c - C代码说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4812391/