C语言共用体(union)

程序:

cpp 复制代码
#include "stdio.h"


typedef union
{
	struct
	{
		unsigned char D1;
		unsigned char D2;
		unsigned char D3;
		unsigned char D4;
		unsigned char D5;
	}u1_1;
	struct
	{
		unsigned char D1;
		unsigned char D2;
		unsigned char D3;
		unsigned char D4;
		unsigned char D5;
	}u1_2;
	unsigned char Data[5];
}union_u1; 



int main()
{
	union_u1 U1;
	U1.u1_1.D1=0X01;
	U1.u1_1.D2=0X02;
	U1.u1_1.D3=0X03;
	U1.u1_1.D4=0X04;
	U1.u1_1.D5=0X05;
	for(unsigned char i=0;i<5;i++)
		printf("Data[%d] = %#X \r\n",i,U1.Data[i]);
	printf("=============================\r\n");	
	U1.u1_2.D1=0X10;	
	U1.u1_2.D2=0X20;	
	U1.u1_2.D3=0X30;	
	U1.u1_2.D4=0X40;	
	U1.u1_2.D5=0X50;	
	for(unsigned char i=0;i<5;i++)
		printf("Data[%d] = %#X \r\n",i,U1.Data[i]);	
} 

运行结果:

分析:

同一个地址有三个别名

就好比如老鼠一样,英语叫mouse,在猫和老鼠又有叫杰瑞,其实都是指老鼠

相关推荐
爱coding的橙子1 小时前
每日算法刷题 Day3 5.11:leetcode数组2道题,用时1h(有点慢)
算法·leetcode
码上淘金2 小时前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python
Brilliant Nemo2 小时前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
格林威4 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
橙子199110164 小时前
在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
android·开发语言·kotlin
androidwork4 小时前
Kotlin Android LeakCanary内存泄漏检测实战
android·开发语言·kotlin
学地理的小胖砸5 小时前
【Python 基础语法】
开发语言·python
?abc!6 小时前
缓存(5):常见 缓存数据淘汰算法/缓存清空策略
java·算法·缓存
BioRunYiXue6 小时前
一文了解氨基酸的分类、代谢和应用
人工智能·深度学习·算法·机器学习·分类·数据挖掘·代谢组学
DanB246 小时前
Java笔记4
java·开发语言·笔记