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

相关推荐
yunsr18 小时前
python作业3
开发语言·python
历程里程碑18 小时前
普通数组-----除了自身以外数组的乘积
大数据·javascript·python·算法·elasticsearch·搜索引擎·flask
4311媒体网18 小时前
C语言操作符全解析 C语言操作符详解
java·c语言·jvm
AI视觉网奇18 小时前
blender 导入fbx 黑色骨骼
学习·算法·ue5·blender
星火开发设计18 小时前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识
梵刹古音18 小时前
【C++】构造函数
开发语言·c++
weixin_4684668518 小时前
目标识别精度指标与IoU及置信度关系辨析
人工智能·深度学习·算法·yolo·图像识别·目标识别·调参
独自破碎E18 小时前
【曼哈顿距离】BISHI25 最大 FST 距离
java·开发语言
苏涵.18 小时前
Java三大集合:List、Set、Map
java·开发语言
Amumu1213818 小时前
Vue3 Composition API(一)
开发语言·javascript·ecmascript