位字段的大小与字符的比较
Size of bit field compared to a char
所以我知道
struct bit
{
unsigned char a : 1;
}
由于填充,仍然会占用一个字节,我的问题是这样的:
struct bit
{
unsigned char a : 1;
...
unsigned char h : 1;
}
这个结构会占用与字符相同的大小吗?如果是这样,我最好只使用char
吗?我问是因为我想使用位作为键,但如果可能的话,我宁愿避免按位运算。
使用位字段时不能保证任何内容。该结构可以具有任何大小和任何位顺序。事实上unsigned char
标准甚至不支持位字段的类型!您的代码已经依赖于非标准扩展。
位域,忘记char
.如果需要可预测的可移植代码,则应使用uint8_t
运算符和按位运算符。
相关文章:
- 比较字符数组
- 比较 c++ 中的字符数组
- 将 if 语句中的字符与 or 进行比较
- 将字符串字节与字符 c++ 进行比较
- 比较"A"、"C"、"G"'T'字符的最快方法
- 如何将字符串字符与结构数组进行比较?
- 字符* 与uint8_t的字符串比较
- 如何将32位字符与内联assembelyc++中的32位字符进行比较
- 如何比较文件中包含的下一个字符
- C++相互比较字符
- 为什么我不能将字符与"*"进行比较?
- 查找和比较两个字符串中的字符
- 将字符比较在一起
- 在数组、流和字符比较中定位
- 字符比较 if 语句无法正常工作
- c++中数字字符和字母字符之间的字符比较
- 字符比较错误
- 字符串,c++中的字符比较
- C++字符串和字符比较
- 根据每个字符比较同一数组中的两个字符串值.此结果仅显示Last OUT值的原因