打印
[资料分享]

C语言的位段应用

[复制链接]
691|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
玛尼玛尼哄|  楼主 | 2020-10-21 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void test7(void)
{
        typedef union
        {
            unsigned int allBits;
            struct
            {
                unsigned a :4;
                unsigned b :4;
                unsigned c :4;
                unsigned d :4;

            };
        }Sta;
        Sta ss;
        ss.allBits=0x1234;
        printf("0x%x\n",ss.allBits);
//主意a是低4位,b是高4位
        ss.a=0x1;
        ss.b=0x2;
        ss.c=0x03;
        ss.d=0x04;
        printf("0x%x\n",ss.allBits);
        printf("sizeof(char) = %d\n",sizeof(char));
        printf("sizeof(unsigned char) = %d\n",sizeof(unsigned char));
        printf("sizeof(int) = %d\n",sizeof(int));
       
}


使用特权

评论回复

相关帖子

沙发
玛尼玛尼哄|  楼主 | 2020-10-21 21:31 | 只看该作者
最有意思的是,结构体部分没有起名字,竟然是用了联合的名字。。。这点没太理解。

使用特权

评论回复
板凳
玛尼玛尼哄|  楼主 | 2020-10-21 21:32 | 只看该作者
        printf("sizeof(ss) = %d\n",sizeof(ss));

输出是4

使用特权

评论回复
地板
dirtwillfly| | 2020-10-23 22:03 | 只看该作者
这是typedef的一种用法,楼主可以看下资料

使用特权

评论回复
5
airwill| | 2020-10-28 21:09 | 只看该作者
结构体部分没有起名字,竟然是用了联合的名字
是结构体和整型变量构成联合,  完全符合正常用法

使用特权

评论回复
6
qcliu| | 2020-11-9 15:08 | 只看该作者
位段是多少个bit啊

使用特权

评论回复
7
tfqi| | 2020-11-9 15:09 | 只看该作者
代码简洁流畅啊

使用特权

评论回复
8
wiba| | 2020-11-9 15:09 | 只看该作者
一下就能看明白

使用特权

评论回复
9
zljiu| | 2020-11-9 15:09 | 只看该作者
请问什么位段啊

使用特权

评论回复
10
coshi| | 2020-11-9 15:10 | 只看该作者
感谢楼主的分享啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

3127

帖子

2

粉丝