“:”运算符是否等同于赋值运算符“=”?
Is ":" operator equivalent to an assignment operator "= "?
我是 C 编码的新手,我 运行 进入以下结构中的“:”
struct __tag131
{ /* Bit Access */
unsigned char P0P6:1; /* P0P6 */
unsigned char P1P6:1; /* P1P6 */
unsigned char P2P6:1; /* P2P6 */
unsigned char P3P6:1; /* P3P6 */
unsigned char :2; /* Reserved Bits */
unsigned char TBP6:1; /* TBP6 */
unsigned char MKP6:1; /* MKP6 */
unsigned char :4; /* Reserved Bits */
unsigned char RFP6:1; /* RFP6 */
unsigned char :2; /* Reserved Bits */
unsigned char CTP6:1; /* CTP6 */
};
“:”有什么用?它甚至是运营商吗?我知道 unsigned char 'type' 是什么,但 unsigned char :2 是什么?请解释。
不,“:”是位域。您可以在以下位置了解更多信息:
- https://www.tutorialspoint.com/cprogramming/c_bit_fields.htm
- When to use bit-fields in C?
C 中的位字段允许压缩形式的信息。冒号后面的数字描述了允许存储的位数。
1 bit => 0,1 (or -1,0 )
2 bits => 0,3 (or -2,1 )
3 bits => 0,7 (or -4,3 )
数据访问速度较慢,但使用较少space。
我是 C 编码的新手,我 运行 进入以下结构中的“:”
struct __tag131
{ /* Bit Access */
unsigned char P0P6:1; /* P0P6 */
unsigned char P1P6:1; /* P1P6 */
unsigned char P2P6:1; /* P2P6 */
unsigned char P3P6:1; /* P3P6 */
unsigned char :2; /* Reserved Bits */
unsigned char TBP6:1; /* TBP6 */
unsigned char MKP6:1; /* MKP6 */
unsigned char :4; /* Reserved Bits */
unsigned char RFP6:1; /* RFP6 */
unsigned char :2; /* Reserved Bits */
unsigned char CTP6:1; /* CTP6 */
};
“:”有什么用?它甚至是运营商吗?我知道 unsigned char 'type' 是什么,但 unsigned char :2 是什么?请解释。
不,“:”是位域。您可以在以下位置了解更多信息:
- https://www.tutorialspoint.com/cprogramming/c_bit_fields.htm
- When to use bit-fields in C?
C 中的位字段允许压缩形式的信息。冒号后面的数字描述了允许存储的位数。
1 bit => 0,1 (or -1,0 )
2 bits => 0,3 (or -2,1 )
3 bits => 0,7 (or -4,3 )
数据访问速度较慢,但使用较少space。