结构体和共用体
2016-10-20 21:40
204 查看
一、结构体和共用体的区别 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的。一个struct变量的总长度等于所有成员长度之和。在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在。Union变量的长度等于最长的成员的长度。 2. 对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于struct的不同成员赋值是互不影响的。二、来一段结构体和共用体的组合使用小程序
2 8
red=0x1234
green=0xED2B blue=0xFFFE
#include<stdio.h> #include<stdlib.h> typedef struct _ColorARGB{ unsigned short int alpha; unsigned short int red; unsigned short int green; unsigned short int blue; }ColorARGB; typedef union _Color{ unsigned long int color; ColorARGB colorArgb; }Color; int main(void) { Color c; c.color=0xFFFEED2B12345678; printf("%d %d\n",sizeof(c.colorArgb.red),sizeof(c.color)); printf("red=0x%X\n",c.colorArgb.red); printf("green=0x%X blue=0x%X\n",c.colorArgb.green,c.colorArgb.blue); return 0; }运行结果:
2 8
red=0x1234
green=0xED2B blue=0xFFFE
相关文章推荐
- 一些基本知识(一)(结构体,共用体,自定义类型,::,指针)
- 结构体,共用体以及typedef的总结
- 结构体与共用体的复习(1)
- 共用体(联合体)与结构体的区别
- c语言的结构体、共用体、枚举
- C 结构体与共用体的用法
- 结构体与共用体01 - 零基础入门学习C语言53
- 结构体与共用体03 - 零基础入门学习C语言55
- C++基础入门教程(三):数组、字符串、结构体、共用体
- 瘋子C语言笔记(结构体/共用体/枚举篇)
- C语言程序设计教程之结构体与共用体
- 结构体、共用体和枚举之老--质价比
- 共用体和结构体所占内存大小的计算方法一
- 2017.08.13指针小结+自定义数据类型(结构体、共用体、枚举、typeof)理论
- 简单C语言反汇编(循环,判断,数组,结构体,共用体,枚举类型)
- 结构体以及共用体与枚举类型
- C/C++学习笔记24:结构体与共用体
- C语言共用体和与结构体的区别
- 结构体与共用体01 - 零基础入门学习C语言53
- 结构体与共用体03 - 零基础入门学习C语言55