问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言奇怪的用法,求助!

发布网友 发布时间:2022-05-25 22:32

我来回答

4个回答

热心网友 时间:2024-10-25 12:21

有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:

struct 位域结构名
{ 位域列表 };

其中位域列表的形式为: 类型说明符 位域名:位域长度

例如:
struct bs
{
int a:8;
int b:2;
int c:6;
};//用8位存储a,2位存储b,6位存储c

你这种结构体u8:0,没有变量名,是匿名位域,有可能是为了数据对其追问意思是u8:8; 这里白白多占了一个字节是吧?

参考资料:http://zhidao.baidu.com/question/244528131.html

热心网友 时间:2024-10-25 12:21

这个是位结构体。
u8:0;u8:8是匿名位域

你去搜索一下:“关于位结构体” 百度文库。
字面看来应该是无符号8位整数,
这些应该是它自己定义的类型。

u8:0; u8:8; u8:0;

是用来控制位占位的。
比如你希望使用一个int类型的高4bit和低4bit,中间的bit不管它你可以这样写。
struct intbit{
int low:4;
int : sizeof(int)*8-8;//假设一个char8bit
int high:4;
};

热心网友 时间:2024-10-25 12:22

简单的就是,自己分配该类型的存储位数。原创,望采纳!!

热心网友 时间:2024-10-25 12:22

匿名位域
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...Exception EoleSysError in module PlayGame.exe at 000AAA95,怎么... ...出现Exception EOleSysError in module ATT.exe at 000BCA21.拒绝... 求大神帮忙: Exception EOleSysError in module.1.多元函数概念(1... windows7ExceptionEOlesysErrorinmoduleexeat000649E0找不到指定模块... 南京新街口适合情侣吃饭的地方,南京钟山景区露台酒店价格 c语言中如何计算a+ b的和 题目:有用户输入两个整数a,b 求a和b之间的数的累加和,包括a和b 用C语... 有请高手解答,平手盘是什么意思,我认为打平多 平手盘什么意思平手盘指的是什么 食品添加剂安全使用指南目录 我以前的突然不见了怎么找回来了? 移动卡可以连联通的热点吗? 丢失怎么找回? 有什么舞蹈的名字是两个字相同的 帮朋友查 ...学生跳舞。求大家帮忙想一个名字,简单明了,两个字最好。 含有“锦,翩”两个字的舞蹈室名字 移动手机可以用联通wifi吗? 移动卡能连联通公共wifi吗 移动的手机和卡可以连上联通的wife吗? CAXA实体设计和solidworks导出的stl文件是相同的吗 现在为什么那么多中学生沉迷于网络游戏? ...以前有过这种情况但是不值得怎么又可,没有分了就这么点了 ...电源有通电就是不制冷也没有启动的声音那是为什么? 网络被监控了,那我的聊天软件的聊天内容能被监控者看见么? 笔记本电源适配器电压太高会不会导致不能上网? 电源电压太高,有245V会不会是引起显示器晃动的原因? 公司的电脑,聊天记录等内容会被主机监控吗 S03电源单元电压过高 ...聊天记录可以被网络管理员随意查看,真的吗?!怎么办? 电源的电压偏高是什么问题 C语言中void main(u8 a),这里的(u8 a)是什么意思,应该怎样理解_百度... 我以前的突然不见了怎么找回来了- 问一问 请问一下高手们,C语言宏定义这是个什么意思,*(u8*)(u32) c语言中 u08表示什么类型 帮忙看下这个函数,C语言!传递给函数的是啥? 另注册了,原来的微信就没有了,怎样才能找回原来的? u8 u16 u32这种宏定义在哪个文件中 C语言,类型转换 求房产中介店名,希望各位朋友帮忙想想 风冷冰箱与直冷冰箱有什么区别? ...两个,但是我第一个微信不见了,我在怎样找回? 如何找回以前的? 我的没有了,该怎么找回还能找回来嘛? 用手机号注册了一个新,以前的不见了,怎么找回?_百度... 丢失如何找回? 丢了怎么找回来? 丢失怎么找回 ...想找回第一个注册的,第二个号已经找不到了,怎么找到... 一个手机号注册了两个,旧的没有了请问怎样才找回来? 没有了,微信钱包里的钱怎么找回来?