C语言运算符详解
1. 位移操作与位掩码
在C语言中,位移操作可用于操作位掩码。例如,下面的 setBit() 函数用于设置位掩码 m 中指定位置 p 的位:
// Function setBit()
// Sets the bit at position p in the mask m.
// Uses CHAR_BIT, defined in limits.h, for the number of bits in a byte.
// Return value: The new mask with the bit set, or the original mask
// if p is not a valid bit position.
unsigned int setBit( unsigned int mask, unsigned int p )
{
if ( p >= CHAR_BIT * sizeof(int) )
return mask;
else
return mask | (1 << p);
}
位移运算符的优先级低于算术运算符,但高于比较运算符和其他位运算符。所以,表达式 mask | (1 << p) 中的括号实际上并非必需,但能提高代码的可读性。
2. 内存寻址运算符
以下是用于数组元素寻址、结构体成员寻址以及使用指针访问对象和函数的五个运算符:
超级会员免费看
订阅专栏 解锁全文
2174

被折叠的 条评论
为什么被折叠?



