c语言的联合体以及大小端 (备忘)
来源:互联网 发布:k歌软件电视 编辑:程序博客网 时间:2024/04/30 18:49
关于union
1、union中可以定义多个成员,union的大小由最大的成员的大小决定。
2、union成员共享同一块大小的内存,一次只能使用其中的一个成员。
3、对某一个成员赋值,会覆盖其他成员的值。
4、联合体union的存放顺序是所有成员都从低地址开始存放的。
下面看一个简单的代码:
#include <stdio.h>
typedef union{
char c;
int a;
int b;
}Demo;
int main(int argc, char **argv)
{
Demo d;
d.c = 'H';
d.a = 0xf41;
d.b = 0x1f41;
printf("size: %d\n", sizeof(d));
printf("%c\t%x\t%x\n", d.c, d.a, d.b);
return 0;
}
结果:4
A 1f41 1f41
什么是大端和小端?
Big-Endian和Little-Endian的定义如下:
1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
判断大端模式和小端模式:
代码:
#include <stdio.h>
int main()
{
}
转载及参考:http://blog.163.com/yx_xie2007/blog/static/1024642532011101411940162/
- c语言的联合体以及大小端 (备忘)
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- C语言——用联合体判断大小端
- C语言面试题——联合体测cpu的大小端
- C语言面试题——联合体测cpu的大小端 .
- C语言结构体,联合体,枚举体的内存大小计算方法
- C语言中结构体以及在结构体中调用方法;联合体和联合体的使用
- C语言联合体(union)的使用方法及其本质-union
- 有关C语言联合体(union)的使用
- C语言的联合体的使用总结
- C的联合体(测试数据存储的大小端模式) 位段(位段与位的对应关系)
- C语言中联合体union的使用
- C语言中联合体union的使用
- C语言中联合体union的使用
- C语言中联合体union的使用
- c语言-union联合体的使用
- cocos2d-x中的opacity与Fade out
- 表达式求值
- 通向实在之路:宇宙法则的完全指南 笔记
- PHP开发规范【总结】
- UVA 10047.The Monocycle(广搜)
- c语言的联合体以及大小端 (备忘)
- 如何在大学里成为IT技术大神
- ubuntu14.04分辨率设置
- cvReleaseImage()出错的问题
- Remove Duplicates from Sorted List
- <1> GCC的源码安装
- 应用层反WG技术研究
- 解决ubuntukylin下各种终端字母重叠的方案
- HDOJ 5058 So easy