(c语言进阶)联合

一.定义

联合体与结构体极其相似,只不过联合体的所有成员是共用同一块内存的。

 二.联合体大小的计算

联合体共用内存的大小为联合体成员大小的最大值来定 

#include<stdio.h>
union Un
{int a;char c;
};
int main()
{union  Un u;printf("%zu",sizeof(u));return 0;
}

 

三.联合体的所有成员是共用同一块内存的 

#include<stdio.h>
union Un
{int a;char c;
};
int main()
{union  Un u;printf("%p \n", &u);printf("%p \n", &(u.a));printf("%p ", &(u.c));return 0;
}

四.联合体共用内存会发生数据覆盖,所以调用联合体成员只能选择调用其中一个

#include<stdio.h>
union Un
{int a;char c;
};
int main()
{union  Un u;u.a = 0x12345678;u.c = 0x00;return 0;
}

 

 

 

 

五.利用联合体判断大小端存储 

#include<stdio.h>
union Un
{int a;char c;
};
int DXD(union Un u)
{return u.c;
}
int main()
{union Un u;u.a = 0x00000001;int g=DXD(u);if (g == 1){printf("小端存储\n");}else{printf("大端存储\n");}return 0;
}

 六.联合体大小的计算

#include<stdio.h>
union Un
{char arr[5];int c;
};
int main()
{union Un u;printf("%zu",sizeof(u));return 0;
}

 

 

 

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

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

相关文章

TCP一对一聊天

客户端 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io…

Linux 多进程并发设计-进程对核的亲缘设置

1设计结构 2 设计优点 1 充分利用多核系统的并发处理能力2 负载均衡3 职责明确&#xff0c;管理进程仅负责管理&#xff0c;工作进程仅负责处理业务逻辑 3 演示代码: //main.cpp #define _GNU_SOURCE #include<sys/types.h> #include<sys/wait.h> #include <…

智能外呼核心功能是什么? 智能外呼有什么功能?

智能外呼是现今市场营销领域中的一种新型的技术手段。与传统的市场营销不同&#xff0c;智能外呼不仅仅是单纯的电话营销&#xff0c;其功能更加丰富多样&#xff0c;而且能够节省很多人力、财力资源。 智能外呼的核心功能是什么呢&#xff1f; 智能外呼的核心功能是AI智能外呼…

【力扣】206.反转链表

206.反转链表 这道题有两种解法&#xff0c;但不只有两种&#xff0c;嘿嘿。 法一&#xff1a;迭代法 就是按循序遍历将每一个指针的指向都给改了。比如说1——>2——>3改为null<——1<——2<——3这样。那这里以第二个结点为例&#xff0c;想一想。我想要指向…

vuepress路径问题,导致图片不显示

图片不显示&#xff0c;报 Uncaught SyntaxError: Unexpected token <错误 很可能就是&#xff1a;路径配置原因 1.当设置为 / 时&#xff0c;VuePress 会假设你的站点将部署到服务器的根路径&#xff0c; 例如 https://yourdomain.com/。 2.生成的页面链接和资源引用将以…

【数电笔记】53-与非门构成的基本RS触发器

目录 说明&#xff1a; 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 状态转换图 6. 驱动表 7. 例题 例1 例2 说明&#xff1a; 笔记配套视频来源&#xff1a;B站&#xff1b;本系列笔记并未记录所有章节&#xff0c;只对个人认为重要章节做了笔记&#xff1b…

【UE5】瞬移+马赛克过渡效果

效果 步骤 1. 新建一个工程&#xff0c;创建一个Basic关卡 2. 添加第三人称游戏资源到内容浏览器 3. 新建一个材质&#xff0c;这里命名为“M_Pixel” 打开“M_Pixel”&#xff0c;设置材质域为“后期处理” 在材质图表中添加如下节点 此时效果如下&#xff0c;已经有马赛克的…

C语言——指针(五)

&#x1f4dd;前言&#xff1a; 上篇文章C语言——指针&#xff08;四&#xff09;更加深入的介绍了不同类型指针的特点&#xff0c;这篇文章主要想记录一下函数与指针的结合运用以及const和assert关于指针的用法&#xff1a; 1&#xff0c;函数与指针 2&#xff0c;const 3&am…

Java数字化健康卫生智慧云HIS系统源码

基于云计算技术的B/S架构云HIS集挂号、处方、收费、取药、病历于一体,完全适配各类中小型医院、诊所。 一、云 HIS定义 1、云 HIS 系统是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按照现代医疗卫生管理要求&#xff0c;在一定区域范围内以数字化形式提供医疗卫生…

C语言——输出菱形

法一&#xff1a; #include<stdio.h> #define N 7 //假设输出7层菱形 int main(){int i;//i控制第几行 int j;//j控制每一行空格的循环个数 int k;//k控制每一行*的循环次数 for(i1;i<4;i){//将图形分为两部分,前四行(第一部分) for(j1;j<4-i;j){//输出第i行的…

TwinCAT3 Modbus-TCP Client/Server使用

目录 一、环境配置和准备 1、PLC中安装TF6250-Modbus-TCP库 2、勾选TF6250的license 3、PLC工程中添加Tc2_ModbusSrv库文件 4、分别创建测试ModbusTCP测试的Server和Client程序 二、PLC作为Client端 1、设置测试电脑IP地址 2、运行MobusTCP测试工具 3、PLC端程序编写 …

Java期末复习题之抽象类、接口

点击返回标题->23年Java期末复习-CSDN博客 第1题. 首先设计一个学生抽象类Student&#xff0c;其数据成员有name(姓名)、age(年龄)和degree(学位)&#xff0c;以及一个抽象方法show()。然后由Student类派生出本科生类Undergraduate和研究生类Graduate&#xff0c;本科生类Un…