C语言,struct 结构体、union共用体的使用

//状态字节,根据数据定义几个标志,标志位依据联合体内部结构体进行变量定义
//目的,节省内存空间,省去特定字节

struct STATDATA
{union{unsigned char stat;struct {unsigned stat0:1;unsigned stat1:1;unsigned stat2:1;unsigned stat3:1;unsigned stat4:1;unsigned stat5:1;unsigned stat6:1;unsigned stat7:1;};};
};
struct STATDATA STATDATA1;
struct STATDATA STATDATA2;int main(void)
{STATDATA1.stat = 0x55;STATDATA2.stat = 0xAA;printf("STATDATA1.stat0 = %d\n",STATDATA1.stat0);printf("STATDATA1.stat1 = %d\n",STATDATA1.stat1);printf("STATDATA1.stat2 = %d\n",STATDATA1.stat2);printf("STATDATA1.stat3 = %d\n",STATDATA1.stat3);printf("STATDATA1.stat4 = %d\n",STATDATA1.stat4);printf("STATDATA1.stat5 = %d\n",STATDATA1.stat5);printf("STATDATA1.stat6 = %d\n",STATDATA1.stat6);printf("STATDATA1.stat7 = %d\n",STATDATA1.stat7);printf("STATDATA2.stat0 = %d\n",STATDATA2.stat0);printf("STATDATA2.stat1 = %d\n",STATDATA2.stat1);printf("STATDATA2.stat2 = %d\n",STATDATA2.stat2);printf("STATDATA2.stat3 = %d\n",STATDATA2.stat3);printf("STATDATA2.stat4 = %d\n",STATDATA2.stat4);printf("STATDATA2.stat5 = %d\n",STATDATA2.stat5);printf("STATDATA2.stat6 = %d\n",STATDATA2.stat6);printf("STATDATA2.stat7 = %d\n",STATDATA2.stat7);return 0;
}

// 输出结果:
// STATDATA1.stat0 = 1
// STATDATA1.stat1 = 0
// STATDATA1.stat2 = 1
// STATDATA1.stat3 = 0
// STATDATA1.stat4 = 1
// STATDATA1.stat5 = 0
// STATDATA1.stat6 = 1
// STATDATA1.stat7 = 0
// STATDATA2.stat0 = 0
// STATDATA2.stat1 = 1
// STATDATA2.stat2 = 0
// STATDATA2.stat3 = 1
// STATDATA2.stat4 = 0
// STATDATA2.stat5 = 1
// STATDATA2.stat6 = 0
// STATDATA2.stat7 = 1

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/347807.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[线程与网络] Java虚拟机常考面试题(线程与网络完结)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀线程与…

Atlassian企业日技术分享:AI在ITSM中的创新实践与应用、Jira服务管理平台AI功能介绍

2024年5月17日,Atlassian中国合作伙伴企业日活动在上海成功举办。活动以“AI协同 创未来——如何利用人工智能提升团队协作,加速产品交付”为主题,深入探讨了AI技术在团队协作与产品交付中的创新应用与实践,吸引了众多业内专家、企…

光伏项目管理——数字化改革

随着全球对可再生能源的迫切需求以及环保意识的日益增强,光伏产业作为清洁能源的重要组成部分,正迎来快速发展的黄金时期。然而,传统的光伏项目管理方式已逐渐无法满足现代化、高效化的需求,数字化改革成为了行业发展的必然趋势。…

DeepSORT(目标跟踪算法)中卡尔曼滤波器中的更新

DeepSORT(目标跟踪算法)中卡尔曼滤波器中的更新 flyfish 说协方差先说期望 在协方差的定义中,符号 E \mathbb{E} E 表示期望值(Expectation)。期望值是随机变量的平均值或均值,表示在大量试验中随机变量…

什么是 URL 过滤?是如何保障浏览体验的?

互联网是一个无边无际的空间,几乎包含了你能想象到的一切。不幸的是,这意味着也存在着从不合适到非常危险的网站。这就是 URL 过滤可以发挥作用的地方。 一、URL 过滤的含义 我们希望您已经熟悉 URL(统一资源定位器),…

Java MyBatis实战:QueryWrapper中的and和or拼接技巧

哈喽,大家好,我是木头左! 一、引言 在Java Web开发中,MyBatis是一个非常流行的持久层框架。它通过XML或注解的方式将Java对象与数据库表进行映射,从而实现数据的增删改查操作。在使用MyBatis的过程中,经常…

进程和内存管理

描述: 内存的使用和剩余情况当前cpu的负载情况找进程的id结束某个进程 检查内存: 方法一: /proc/meminfo 文件这是一个伪文件这个文件,纪录了内存的相关信息不用用vi打开,应该用cat查看 方法二: 命令…

Qt程序打包成单个exe文件

文章目录 0. 准备工作1. 使用 windeployqt 提取必要的动态链接库和资源文件1.1 操作步骤1.2 补充 2. 使用 Enigma Virtual Box将文件夹打包成单个exe2.1 操作步骤 0. 准备工作 Qt程序打包用到的工具有: windeployqt :安装Qt时自带Enigma Virtual Box 下…

重温共射放大电路

1、放大概念 小功率信号变成一个大功率信号,需要一个核心器件做这件事,核心器件的能量由电源提供,通过核心器件用小功率的信号去控制大电源,来实现能量的转换和控制,前提是不能失真,可以用一系列正弦波进行…

SpringBoot之静态资源

默认静态资源路径 classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/ 静态资源路径下的文件,可以通过根目录访问 resources 文件夹的文件如下图所示: 启动项目,分别访问以下路径: ht…

解锁 DevOps 精通:成功的综合指南

在动态的软件开发领域,要掌握 DevOps,需要对其核心原则有细致的了解,并采取战略性实施方法。DevOps 是一种协作方法,它将软件开发 (Dev) 和 IT 运营 (Ops) 结合起来,以自动化和简化软件交付流程。它旨在缩短开发周期、…

CleanMyMac X软件最新版下载【安装详细图文教程】

​CleanMyMac X是一款专业的Mac清理软件,可智能清理mac磁盘垃圾和多余语言安装包,快速释放电脑内存,轻松管理和升级Mac上的应用,同时CleanMyMac X可以强力卸载恶意软件,修复系统漏洞,一键扫描和优化Mac系统…

外星人Aurora R15 intel版 原厂Windows11oem系统

装后恢复到您开箱的体验界面,包括所有原机所有驱动AWCC、Mydell、office、mcafee等所有预装软件。 最适合您电脑的系统,经厂家手调试最佳状态,性能与功耗直接拉满,体验最原汁原味的系统。 原厂系统下载网址:http://w…

【机器学习】GANs网络在图像和视频技术中的应用前景

📝个人主页:哈__ 期待您的关注 目录 1. 🔥引言 背景介绍 研究意义 2. 🎈GANs的基本概念和工作原理 生成对抗网络简介 工作原理 3. 🤖GANs在图像生成中的应用 图像超分辨率 工作原理 图像去噪 工作原理 图…

目标检测6:采用yolov8, RK3568推理的性能

最近有个小伙伴,问我rk3568上推理图片,1秒能达到多少? 本次采用模型为yolov8s.rknn,作了一次验证。 解析一段视频文件,1280*720, fps 24。读取视频文件,然后进行推理。 通过性能优化,发现推理…

Apple ID已成历史,在ios18中正式更名为Apple Account

随着iOS18的首个开发者预览版成功推送,众多热衷于尝鲜的用户已纷纷升级并开启全新体验。在这个版本中,备受瞩目的Apple ID正式迎来了它的进化——更名为Apple Account,并且拥有了中文名称“Apple账户”或简称“苹果账户”。 不过目前官网还称…

【全开源】Workerman在线客服系统(ThinkPHP+FastAdmin+Workerman)

Workerman在线客服系统:高效沟通的新选择 基于ThinkPHPFastAdminWorkerman开发的一款实时在线客服系统,支持多客服(不限座席)、知识库、离线留言板、离线消息、历史会话、微信小程序接入、Uni-app接入(高级授权)、用户轨迹等功能。​ 📢 一…

AI大模型智慧政务解决方案

随着AI大模型技术的蓬勃发展和普及应用,我们的政务治理正迎来一场波澜壮阔的革新巨浪。这场革新,不仅是技术层面的飞跃,更是一场深刻改变治理理念的伟大变革。它彻底颠覆了传统政务治理中依赖人力、效率低下、响应迟缓的“人盯人”模式&#…

STM32的FreeRtos的学习

首先就是去官网下载一个源文件:FreeRtos官网 下载下来的是一个zip文件,解压缩了。 然后再工程文件夹中创建个文件夹: 在这个文件夹中创建3个文件夹: 然后开始把下载下来的文件夹中的文件挑选出来放到我们的工程文件夹中&#xff1…

第二届京津冀现代商贸物流金融创新发展百人大会将于6月16日在廊坊举行

物流是实体经济的“筋络”,联接生产和消费、内贸和外贸,必须有效降低全社会物流成本,增强产业核心竞争力,提高经济运行效率。《京津冀协同发展规划纲要》赋予河北“三区一基地”的功能定位,建设全国现代商贸物流重要基…