我可以将typedef char
为CHAR1
,即8位。 但是如何将3位变量作为数据类型?
您可能希望执行类似以下操作:
struct { . . . unsigned int fieldof3bits : 3; . . . } newdatatypename;
在这种情况下, fieldof3bits
在结构中占用3位(基于您如何定义其他所有内容,结构的大小可能会有所不同)。
这种用法称为位域 。
来自维基百科:
位字段是在计算机编程中用于存储多个逻辑相邻位的术语,其中每个位组和单个位可以被寻址。 位字段最常用于表示已知的固定位宽的整数类型。
看来你要求的是bitfields char代替bit(编译器特定,物理内存布局等)可以更安全。 )
快乐的编码!
typedef struct { int a:3; }hello;
它只有在内部结构时才有可能,否则就不可能
以上就是c/c++开发分享如何在C中创建3位变量作为数据类型?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/560214.html