最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
浅谈C语言共用体和与结构体的区别
时间:2022-06-25 04:39:31 编辑:袖梨 来源:一聚教程网
共用体:
使用union 关键字
共用体内存长度是内部最长的数据类型的长度。
共用体的地址和内部各成员变量的地址都是同一个地址
结构体大小:
结构体内部的成员,大小等于最后一个成员的偏移量+最后一个成员大小+末尾的填充字节数。
结构体的偏移量:某一个成员的实际地址和结构体首地址之间的距离。
结构体字节对齐:每个成员相对于结构体首地址的偏移量都得是当前成员所占内存大小的整数倍,如果不是会在成员前面加填充字节。结构体的大小是内部最宽的成员的整数倍。
共用体
代码如下 | 复制代码 |
//gcc让不同类型的变量共享内存地址 ,同一时间只有一个成员有效 union data{ inta; charb; intc; }; intmain(){ union data data_1 = {1};//初始化时只填写一个值。(同一时间只有一个成员有效) data_1.b ='c' data_1.a = 10;//后赋值的才有效。前面的赋值被覆盖 //打印地址,发现指向同一个地址 printf("%pn%pn%pn",&data_1.a,&data_1.a,&data_1.a); return0; } |
相关文章
- 江南百景图游宴廊怎么样 江南百景图游宴廊建筑介绍 12-26
- 江南百景图碎金泉怎么样 江南百景图碎金泉建筑介绍 12-26
- 炉石传说兑换码大全 12-26
- 重返未来1999趋光性研究夜幕之外怎么玩 趋光性夜幕之外活动介绍 12-26
- 光遇12.26大蜡烛在哪里 光遇12月26日大蜡烛位置攻略 12-26
- 江南百景图金谷园怎么样 江南百景图金谷园建筑介绍 12-26