C语言初学10:共同体

一、共同体作用

提供一种在相同内存位置存储不同数据类型的有效方式

二、共同体定义

union [union tag] //tag是可选参数
{member definition;member definition;...member definition;
} [one or more union variables]; // 共同体变量是可选的

三、共同体占用空间大小

#include <stdio.h>union Data
{int i;float f;char str[20];
} data;int main()
{printf("Memory size occupied by data : %d\n", sizeof(data));return 0;}

执行结果:

共同体占用空间大小是共同体中存储的最大成员的大小。

四、访问共同体成员(同一时间用到三个成员)

#include <stdio.h>
#include <string.h>
union Data
{int i;float f;char str[20];
} data;int main()
{data.i = 10;data.f = 22.5;strcpy(data.str,"C Programming"); //使用拷贝函数对数组进行赋值printf( "data.i : %d\n", data.i);printf( "data.f : %f\n", data.f);printf( "data.str : %s\n", data.str);return 0;	
}

执行结果:

共用体的 if 成员的值有损坏,因为最后赋给变量的值占用了内存位置。

五、访问共同体成员(同一时间只用到一个成员)

#include <stdio.h>
#include <string.h>
union Data
{int i;float f;char str[20];
} data;int main()
{data.i = 10;printf( "data.i : %d\n", data.i);data.f = 22.5;printf( "data.f : %f\n", data.f);strcpy(data.str,"C Programming"); printf( "data.str : %s\n", data.str);return 0;	
}

执行结果:

所有的成员都能完好输出,因为同一时间只用到一个成员 。

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

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

相关文章

vCity 2.8 – 在线浏览器元宇宙游戏平台(虚拟现实网页游戏平台)可获取现实金钱对接贝宝

vCity Nulled 是一个采用最新网络技术开发的在线浏览器游戏平台。vCity Free Download Scripts 是多功能游戏脚本&#xff0c;可帮助您根据自己的喜好创建自己的在线浏览器游戏&#xff0c;因为它有许多选项和设置&#xff0c;可以通过这些选项和设置来修改和创建您想要的浏览器…

亚信安慧AntDB:编织数据丝路,缔造创新篇章

亚信安慧AntDB作为一款具备国产化升级改造经验的数据库系统&#xff0c;在15年的平稳运行中积累了丰富经验。通过持续的创新和技术进步&#xff0c;AntDB不断优化性能和功能&#xff0c;满足用户的需求&#xff0c;与国际先进数据库系统保持竞争力。 AntDB秉承着与用户和行业保…

【广度优先搜索】【堆】【C++算法】407. 接雨水 II

作者推荐 【二分查找】【C算法】378. 有序矩阵中第 K 小的元素 本文涉及知识点 广度优先搜索 堆 LeetCoce407. 接雨水 II 给你一个 m x n 的矩阵&#xff0c;其中的值均为非负整数&#xff0c;代表二维高度图每个单元的高度&#xff0c;请计算图中形状最多能接多少体积的雨…

使用MockJS模拟数据,如何获取入参?

场景描述 在使用MockJS进行模拟数据的时候&#xff0c;会遇到一种场景&#xff0c;当参数1时&#xff0c;展示A类数据&#xff0c;当参数B时&#xff0c;展示B类数据&#xff0c;为了实现这场景&#xff0c;那就要在模拟数据时拿到请求参数&#xff1f; 实现逻辑 mock方法的…

遇见未来的你——陪伴是最长情的告白

目录 一、背景介绍二、思路&方案三、过程1.家庭中彼此的陪伴最长情2.事业中与合伙人与同事与朋友与产品的陪伴最长情3.人生中与计划与落实与啊哈的陪伴最长情4.肉体与灵魂分分合合的体验 四、总结 一、背景介绍 人有时候一转身就是一辈子&#xff0c;所以珍惜转身的每一个…

项目一:踏上Java开发之旅(2023软件1班)

文章目录 一、实战概述二、实战步骤任务1&#xff1a;安装配置JDK开发第一个Java程序1、安装JDK2、配置Java环境变量3、开发第一个Java程序&#xff08;1&#xff09;编写源程序 - HelloWorld.java&#xff08;2&#xff09;编译成字节码文件 - HelloWorld.class&#xff08;3&…

vulhub中ThinkPHP5 5.0.23 远程代码执行漏洞复现

ThinkPHP是一款运用极广的PHP开发框架。其5.0.23以前的版本中&#xff0c;获取method的方法中没有正确处理方法名&#xff0c;导致攻击者可以调用Request类任意方法并构造利用链&#xff0c;从而导致远程代码执行漏洞。 环境启动后&#xff0c;访问http://your-ip:8080即可看到…

深度学习模型部署(番外4)模型量化方案及实战

量化方案 根据量化的时机可以分为训练时量化QAT和训练后量化PTQ。二者的工作流程图如下&#xff1a; QAT量化流程图 PTQ量化流程图 其中的CLE为层间放缩平衡Cross-Layer Equalization&#xff0c;在使用per_tensor粒度进行量化时&#xff0c;同一个tensor中可能数据不平衡情况…

upload-Labs靶场“11-15”关通关教程

君衍. 一、第十一关 %00截断GET上传1、源码分析2、%00截断GET上传 二、第十二关 %00截断POST上传1、源码分析2、%00截断POST上传 三、第十三关 文件头检测绕过1、源码分析2、文件头检测绕过 四、第十四关 图片检测绕过上传1、源码分析2、图片马绕过上传 五、第十五关 图片检测绕…

华中某科技大学校园网疑似dns劫持的解决方法

问题 在校园网ping xxx.ddns.net&#xff0c;域名解析失败 使用热点ping xxx.ddns.net&#xff0c;可以ping通 尝试设置windows dns首选dns为114.114.114.114&#xff0c;重新ping&#xff0c;仍然域名解析失败 猜测【校园网可能劫持dns请求】 解决方法 使用加密的dns请求…

[LeetBook]【学习日记】有效数字——状态机

题目 有效数字 有效数字&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 若干空格一个小数或者整数&#xff08;可选&#xff09;一个’e’或’E’&#xff0c;后面跟着一个整数若干空格 小数&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a…

【考研数学】基础660太难了?一个办法搞定660

觉得题目太难&#xff0c;大概率是题目超出了自己当前的水平 题型没见过&#xff0c;或者太复杂&#xff0c;属于跳级学习了&#xff0c;正确的思路就是回归到自己的水平线&#xff0c;题目略难即可。 这样做题的话&#xff0c;大部分题目涉及的点不会超出自己的能力范围&…

数据结构(七)——线性表的基本操作

&#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609; 在csdn获奖荣誉: &#x1f3c6;csdn城市之星2名 ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ …

vue3学习(续篇)

vue3学习(续篇) 默认有vue3基础并有一定python编程经验。 chrome浏览器安装vue.js devtools拓展。 文章目录 vue3学习(续篇)1. element-ui使用2. axios 网络请求1. 简介2. 操作 3. flask-cors解决跨域问题1. 简介2. 操作 4. 前端路由 vue-router1. 简单使用2. 配置路径别名和…

好利来做宠物蛋糕,为啥品牌争相入局宠物赛道?

2月20日&#xff0c;好利来宣布推出宠物烘焙品牌「Holiland Pet」&#xff0c;正式进军宠物烘焙市场。作为首个入局宠物烘焙领域的国内食品品牌&#xff0c;一经推出&#xff0c;就面临着各种争议&#xff0c;不管大众看法如何&#xff0c;好利来进军宠物市场&#xff0c;也让宠…

后台组件-语言包

<groupId>org.qlm</groupId><artifactId>qlm-language</artifactId><version>1.0-SNAPSHOT</version> 平台提供多语言支持&#xff0c;以上为语言包&#xff0c;提供后台多语言支持。首批实现&#xff1a; public class LanguageConstan…

Git快速上手二

对Git命令的深入理解快速上手Git&#xff08;包含提交至GitHub和Gitee&#xff09;-CSDN博客 1.5 分支操作 1.5.1 分支原理 系统上线后,又要修改bug,又要开发新的功能。 由于新功能没有开发完,所以需要建立分支,一边修改bug,一边开发新功能,最终合并. 1.5.2 分支实操 创建…

Java基于微信小程序的旅游出行必备小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

第三百八十六回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Snackbar Widget相关的内容,本章回中将介绍TimePickerDialog Widget.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在这里说的TimePickerDialog是一种弹出窗口&#xff0c;只不过窗口的内容固定显示…

18.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-数据分析工具数据与消息配置的实现

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 上一个内容&#xff1a;17.数据分析工具配置功能的实现 码云地址&#xff08;master 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/titan…