问一下关于位域的问题

问一下关于位域的问题

struct bs
{
    unsigned int m: 12;
    unsigned char ch: 4;
    unsigned int p: 4;
}t1;

sizeof(t1) =  4;  //gcc下采取压缩的方式,3个成员挨着存储

比如这个,第一个int 4个字节 32bit 第一个用了12bit 第二个用了4bit 但是用了4bit的是char字符 char可以使用int的位我怎么感觉有点别扭

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
山行老师 2022-12-02 20:51:11

确实有点别扭,全改成int吧,这种不确定的情况最好还是逐位打印出来看一下。

  • 提问者 Cc大佬 #1

    那实际使用中  char字符也可以使用int类型的位么   会不会出现什么类型不兼容的问题


    2022-12-03 08:35:19
  • 你都使用位域了,为啥还要int跟char混用么,位域已经是很细很细的变量了。没必要混用,自己为难自己。

    2022-12-05 19:45:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师