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

相关推荐
Cx330❀1 分钟前
【MySQL基础】详解MySQL数据类型:底层原理、越界测试与最佳实践
linux·开发语言·数据库·c++·mysql
星恒随风5 分钟前
C++ string 入门(一)
开发语言·c++·笔记·学习
旖-旎5 分钟前
《LeetCode 200 FloodFill 岛屿数量DFS解法》
c++·算法·深度优先·力扣·floodfill
拂拉氏8 分钟前
【知识讲解-题目讲解】算法系列之动态规划入门(下)
算法·leetcode·动态规划
skywalk816311 分钟前
继续推进心语项目6.15 @CodeArts
开发语言·算法·编程
2601_9618451511 分钟前
花生十三图推思维导图|图形推理|技巧
数据结构·算法·链表·贪心算法·排序算法·线性回归·动态规划
嵌入式-老费15 分钟前
esp32开发与应用(看门狗测试)
java·开发语言·数据库
bIo7lyA8v16 分钟前
算法复杂度的可视化评估与优化策略研究的技术8
算法
闫有尽意无琼18 分钟前
qt控件未指定父对象或delete致堆内存泄露
开发语言·qt
Seraphina_Lily19 分钟前
深入底层:函数栈帧的建立、销毁与SP指针的本质
c语言