当前位置:  开发笔记 > 编程语言 > 正文

比特字段的大小与字符比较

如何解决《比特字段的大小与字符比较》经验,为你挑选了1个好方法。

所以我知道

struct bit
{
    unsigned char a : 1;
}

由于填充,仍会占用一个字节,我的问题是:

struct bit
{
    unsigned char a : 1;
    ...
    unsigned char h : 1;
}

这个结构会占用与char相同的大小吗?如果是这样,我最好只使用一个char而不是?我问,因为我想使用位作为键,但如果可能的话,我宁愿避免按位操作.



1> Lundin..:

使用位字段时无法保证任何内容.该结构可以具有任何大小和任何位顺序.事实上unsigned char,标准甚至不支持位字段的类型!您的代码已经依赖于非标准扩展.

忘记位字段,忘了char.uint8_t如果需要可预测的可移植代码,则应使用和按位运算符.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有