day16
目录
1 联合体的定义和使用
2 联合体的内存布局
3 联合体的应用
1 联合体的定义和使用
#include <iostream>using namespace std;struct DataS
{int i; double d; char s[10]; };/*联合体 所有成员共享同一段内存 修改一个成员会影响其他成员
{
*/
union DataU
{int i; //4个字节double d; //8个字节char s[10]; //10个字节//联合体成员大小由最大的成员决定,因此该联合体的大小是10个字节
};
/*
1、定义和使用分开
union DataU
{int i; //4个字节double d; //8个字节char s[10]; //10个字节//联合体成员大小由最大的成员决定,因此该联合体的大小是10个字节
};
DataU a,b,c;
2、定义和使用结合
union DataU
{int i; double d; char s[10];
}a,b,c;
3、匿名:不想让别人使用
union
{int i;double d;char s[10];
}a,b,c;
*/
int main()
{DataS ds;cout << &ds.i << "," << &ds.d << "," << (void*)ds.s << endl;DataU du;cout << &du.i << "," << &du.d << "," << (void*)du.s << endl;return 0;
}
2 联合体的内存布局
#include <iostream>
using namespace std;union DataU {int i; // 4double d; // 8char s[7]; // 7
};int main() {cout << sizeof(DataU) << endl;DataU du;du.s[0] = 255; // 11111111du.s[1] = 1; // 00000001du.s[2] = 0; // 00000000du.s[3] = 0; // 00000000cout << du.i << endl; // 00000000 00000000 00000001 11111111du.i = 256;cout << (int)du.s[0] << (int)du.s[1] << (int)du.s[2] << (int)du.s[3] << endl;return 0;
}
3 联合体的应用
#include <iostream>using namespace std;struct Info
{char _name[20];int _role;union {double score;char course[20];}_sc;Info(const char name[20], int role, double s, const char c[20]) {strcpy_s(_name, name);_role = role;if (s > 0) _sc.score = s;if (strlen(c) > 0) strcpy_s(_sc.course, c);}
};int main()
{Info a[4] = {Info("周老师", 0, -1, "CGaGa"),Info("周老师", 0, -1, "Python"),Info("周同学", 1, 90, ""),Info("肖同学", 1, 88, ""),};for (int i = 0; i < 4; i++){if (a[i]._role == 0) {cout << a[i]._name << "是一位老师,他是教" << a[i]._sc.course << endl;}else if (a[i]._role == 1) {cout << a[i]._name << "是一位学生,他的分数是" << a[i]._sc.score << endl;}}return 0;
}
相关文章:
day16
目录 1 联合体的定义和使用 2 联合体的内存布局 3 联合体的应用 1 联合体的定义和使用 #include <iostream>using namespace std;struct DataS {int i; double d; char s[10]; };/*联合体 所有成员共享同一段内存 修改一个成员会影响其他成员 { */ union DataU {int…...
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
小罗碎碎念 今天给大家推荐一本入门书籍。 这本书由Uday Kamath、Kenneth L. Graham和Wael Emara撰写,深入探讨了Transformer模型在机器学习领域的应用,特别是自然语言处理(NLP)。 原文pdf已经上传至知识星球的【入门书籍】专栏&…...
【读书】复杂性意义结构框架——Cynefin框架
Cynefin框架 《代码大全》的作者史蒂夫麦克康奈尔(Steve McConnell)在《卓有成效的敏捷》这本书里,探讨了用于理解不确定性和复杂性的Cynefin框架。 Cynefin框架是戴维斯诺登(David Snowden)20世纪90年代的在IBM时创…...
Python模块、迭代器与正则表达式day10
1、Python模块 1.1模块的简介 在编写代码的时候,创建的.py文件就被称为一个模块 1.2模块的使用 想要在a文件里使用b文件的时候,只要在a文件中使用关键字import导入即可 1.2.2 from ...import...语句 导入模块可以使用import,如果只导入模…...
Hutool工具类生成二维码
1、引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutoo…...
wpf 事件转命令的方式
1,方式1 <StackPanel Background"Transparent"><StackPanel.InputBindings><KeyBinding Command"{Binding ChangeColorCommand}"CommandParameter"{Binding ElementNamecolorPicker, PathSelectedItem}"Key"{Bi…...
第二十八章 TCP 客户端 服务器通信 - JOB命令示例
文章目录 第二十八章 TCP 客户端 服务器通信 - JOB命令示例JOB命令示例 第二十八章 TCP 客户端 服务器通信 - JOB命令示例 JOB命令示例 以下示例显示了一个非常简单的并发服务器,只要它检测到来自客户端的连接,就会产生一个子作业。 JOB指定一个并发服…...
「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
本篇将继续讲解PTA平台上的题目 L1-010 比较大小,通过对三个整数的排序,进一步提升Cangjie编程语言的数组操作与逻辑处理能力。 关键词 PTA刷题数字排序条件判断Cangjie语言 一、L1-010 比较大小 题目描述:给定3个整数,要求将它…...
C++趣味编程玩转物联网:用树莓派Pico实现一位数码管动态显示
七段数码管是一种经典的电子显示器件,广泛应用于数字时钟、电子仪表等设备。本文将通过树莓派Pico开发板,介绍如何用C代码控制一位七段数码管显示数字。作为一个嵌入式开发项目,这不仅是初学者理解数码管工作原理的好机会,也是C开…...
SPA 单页面深入解读:优劣势剖析及实现方法
SPA(Single Page Application)单页面应用 什么是 SPA? SPA(Single Page Application,单页面应用)是一种 Web 应用程序,它通过 JavaScript 动态更新单一页面上的内容,而不是像传统的多页面应用程序那样每次用户与应用交互时都请求一个新的 HTML 页面。通过使用 AJAX 请…...
机器学习系列----关联分析
目录 1. 关联分析的基本概念 1.1定义 1.2常用算法 2.Apriori 算法的实现 2.1 工作原理 2.2 算法步骤 2.3 优缺点 2.4 时间复杂度 2.5实际运用----市场购物篮分析 3. FP-Growth 算法 3.1 工作原理 3.2 算法步骤 3.3 优缺点 3.4 时间复杂度 3.5实际运用——网页点…...
json数据四大加载方式
效果: 一、使用 import 静态加载 JSON 原理 使用 ES 模块的 import 语法直接引入 JSON 文件。Webpack/Vite 等构建工具会将 JSON 文件解析成 JavaScript 对象。 优点 简单直接,适合静态数据。不需要额外的网络请求。数据会随着打包文件一起部署。 缺点 J…...
JavaScript 中的数组(Array)对象的内置方法
JavaScript 中的数组(Array)对象提供了许多内置方法,用于对数组进行创建、操作、遍历和搜索等操作。以下是一些常用的数组方法及其简要说明: 创建和初始化数组 Array(): 创建一个新的空数组,或者根据提供的参数创建一…...
网络安全之国际主流网络安全架构模型
目前,国际主流的网络安全架构模型主要有: ● 信息技术咨询公司Gartner的ASA(Adaptive Security Architecture自适应安全架构) ● 美国政府资助的非营利研究机构MITRE的ATT&CK(Adversarial Tactics Techniques &…...
电子应用设计方案-16:智能闹钟系统方案设计
智能闹钟系统方案设计 一、系统概述 本智能闹钟系统旨在为用户提供更加个性化、智能化和便捷的闹钟服务,帮助用户更有效地管理时间和起床。 二、系统组成 1. 微控制器 - 选用低功耗、高性能的微控制器,如 STM32 系列,负责整个系统的控制和数据…...
【FRP 内网穿透 从0到1 那些注意事项】
【摘要】 最近跟第三方团队调试问题,遇到一个比较烦的操作。就是,你必须要发个版到公网环境,他们才能链接到你的接口地址,才能进行调试。按理说,也没啥,就是费点时间。但是,在调试的时候&#…...
力扣 LRU缓存-146
LRU缓存-146 /* 定义双向链表节点,用于存储缓存中的每个键值对。 成员变量:key和value存储键值对。preb和next指向前一个和后一个节点,形成双向链表。 构造函数:默认构造函数:初始化空节点。参数化构造函数࿱…...
Elasticsearch简介与实操
Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。以下是对Elasticsearch的详细介绍: 一、基本概述 Elasticsearch是Elastic Stack(以前称为ELK Stack)的核心组件,Logstash和Beats有助于收集、聚合和丰富数据并将…...
用python将一个扫描pdf文件改成二值图片组成的pdf文件
使用墨水屏读书现在似乎越来越流行,这确实有一定的好处,例如基本不发热,电池续航时间超长,基本不能游戏所以有利于沉浸式阅读,还有不知道是不是真的有用的所谓防蓝光伤害。但是,如果阅读的书籍是扫描图片组…...
Failed to start Docker Application Container Engine
说明: 1)访问应用业务,读取不到数据,show databases;查看数据库报错 2)重启docker服务,服务启动失败,查看日志报错如下图所示 3)报错信息:chmod /data/docker: read-only…...
SVM实战调参指南:从标准化、核函数到支持向量解读
1. 这不是教科书里的SVM,而是我亲手调过37次参数后才敢写的入门实录Support Vector Machine(SVM)这个词,第一次见是在三年前的某次算法面试里。面试官问:“你说说SVM为什么叫‘支持向量’?”我张了张嘴&…...
免费去图片水印app排行榜怎么选?2026一键去水印工具推荐
日常生活中,我们经常会遇到需要去除图片水印的情况——无论是保存他人分享的精美图片、整理素材库,还是为了个人使用和内容二次创作。市场上有许多去水印工具,但质量参差不齐,收费模式也各不相同。本文为你盘点了2026年最实用的免…...
GOM三维扫描在GDT分析中的应用:几何公差评价为何越来越依赖全场数据
随着工业产品结构复杂度持续提高,传统基于尺寸链的质量控制方式正在逐步向几何公差控制体系演进。尤其在汽车制造、精密模具、航空零部件及新能源结构件等领域,产品质量评价已不仅取决于尺寸是否符合要求,更关注零件在真实装配条件下的几何状…...
【ElevenLabs潮州话语音实战指南】:20年语音AI专家亲授3大落地陷阱与5步合规部署法
更多请点击: https://kaifayun.com 第一章:ElevenLabs潮州话语音技术全景概览 ElevenLabs 作为全球领先的语音合成平台,长期聚焦于高保真、多语言、情感化TTS技术研发。尽管其官方公开支持的语言列表尚未正式纳入潮州话(Teochew&…...
注塑行业的数智化突围:告别“黑盒”生产,拥抱透明化管理新纪元
在从“经验驱动”向“数据驱动”的关键跃迁中,注塑成型作为典型的离散制造环节,其数字化转型的痛点尤为尖锐。盘古信息基于近二十年的行业深耕,依托其自主研发的IMS工软底座,为注塑行业带来了一套完整的数智化破局方案,…...
【仅剩72小时】ElevenLabs希腊文语音v2.4.1热更新前瞻:首次支持Cypriot方言变体,附迁移兼容性速查表
更多请点击: https://codechina.net 第一章:ElevenLabs希腊文语音v2.4.1热更新核心概览 ElevenLabs v2.4.1 版本针对希腊文(Greek)语音合成能力进行了深度热更新,显著提升了音素对齐精度、语调自然度及方言兼容性。本…...
Midjourney新艺术风格突然失效?92%用户忽略的--stylize冲突机制与3步回滚修复法
更多请点击: https://codechina.net 第一章:Midjourney新艺术风格突然失效?92%用户忽略的--stylize冲突机制与3步回滚修复法 近期大量用户反馈:在 Midjourney v6.1 中启用高 stylize 值(如 --stylize 1000࿰…...
py之代码实现获取字符串中每个字符的unicode值
def print_unicode_values(strings_list):"""接收字符串列表,提取所有字符的Unicode码点并以0x格式升序打印,后面加上对应字符"""unicode_values = set() # 使用集合自动去重for text in strings_list:for char in text...
淘金币自动化脚本:每天节省20分钟,解放双手的终极指南
淘金币自动化脚本:每天节省20分钟,解放双手的终极指南 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinb…...
2026年同步网盘哪个好?10款支持本地文件夹自动同步与实时备份工具盘点
在 2026 年,数据即资产。传统“手动上传”已难以满足高频办公:文件一多就容易漏传、版本混乱、协作效率下降。本地文件夹自动同步(落盘即上云)正在成为衡量网盘生产力的核心指标——既能防止硬盘故障导致的数据丢失,也…...
