位段,小端存储,联合体的应用----例题及解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 位段,小端存储,联合体的应用----例题及解析
//int main()
//{
//unsigned char puc[4];
//struct tagPIM
//{//开辟四个内存
//    unsigned char UcPim1;//开辟一个字节,全部被自己占用
//    unsigned char UcData0:1;//只能开辟一个字节,char型,自己占用2Bit
//    unsigned char UcData1:2;//char型,自己占用2Bit
//    unsigned char UcData2:3;//剩下的4bit都给它
//
//}*pstPimData;//指针pstPimData指向结构体tagPIM
//
//pstPimData = (struct tagPIM*)puc;//位段存储
//memset(puc, 0, 4);//将内存全部清空为00000000 00000000 00000000 00000000
//pstPimData->UcPim1 = 2;//开辟一个字节,2的二进制00000010,全放,但是用完整个位段
//pstPimData->UcData0 = 3;//3的二进制00000011,只能占用1个bit,为1
//pstPimData->UcData1 = 4;//4的二进制00000100,只能占用2个bit,为00
//pstPimData->UcData2 = 5;//5的二进制00000101,能占用剩下的3个bit,为101
合并UcData0->2并补0,变为00101001,%02x为十六进制为29
//printf("%02x %02x %02x %02x\n", puc[0], puc[1], puc[2], puc[3]);//02 29 00 00
//return 0;
//}
//联合体存在对齐---共用空间
union Un
{
    short s[7];//2(最大对齐数short为7)*7(个数)=14
    int n//最大对齐数4
        //4和2的最大对齐数是4,所有14应浪费到16(4的倍数),所有16
};
int main()
{
    printf("%d\n", sizeof(union Un));//16
}
相关文章
RS-485网络中的标准端接与交流电端接应用解析
RS-485,作为一种广泛应用的差分信号传输标准,因其传输距离远、抗干扰能力强、支持多点通讯等优点,在工业自动化、智能建筑、交通运输等领域得到了广泛应用。在构建RS-485网络时,端接技术扮演着至关重要的角色,它直接影响到网络的信号完整性、稳定性和通信质量。
|
7天前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
|
10天前
|
安全 编译器 PHP
PHP 8新特性解析与实践应用####
————探索PHP 8的创新功能及其在现代Web开发中的实际应用
|
1天前
|
存储 供应链 物联网
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
|
1天前
|
存储 供应链 安全
深度解析区块链技术的核心原理与应用前景
深度解析区块链技术的核心原理与应用前景
6 0
|
5天前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
16 0
|
8天前
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
66 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
59 0

推荐镜像

更多