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,在猫和老鼠又有叫杰瑞,其实都是指老鼠

相关推荐
white-persist21 分钟前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
千里马-horse22 分钟前
Async++ 源码分析8--partitioner.h
开发语言·c++·async++·partitioner
格林威1 小时前
常规线扫描镜头有哪些类型?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
Lucis__1 小时前
再探类&对象——C++入门进阶
开发语言·c++
007php0071 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
lsx2024062 小时前
HTML 字符集
开发语言
很㗊2 小时前
C与C++---类型转换
c语言·开发语言
say_fall2 小时前
精通C语言(3. 自定义类型:联合体和枚举)
c语言·开发语言
郝学胜-神的一滴2 小时前
Effective Python 第43条:自定义容器类型为什么应该从 `collections.abc` 继承?
开发语言·python
迎風吹頭髮2 小时前
UNIX下C语言编程与实践38-UNIX 信号操作:signal 函数与信号捕获函数的编写
linux·c语言·unix