1.共用体的基本概念
struct ABC
| 将左边代码中的关键字struct换成关union键字,就形成共用体。 union ABC
p->c |
2.共用体的内存映像图
struct ABC { int a; char b; double c; }; |
所谓共用体,就是其成员共同使用同一起始地址的存储空间; 其最大特点是:更改共用体中的任一成员,其它成员的值,都会被更改。 因此,一个共用体其长度应该是该共用体最长成员的长度。 |
#include<stdio.h>
union ABC
{
char s[4];
int value;
};
void main(void)
{
union ABC a;
int i;
a.value = 1145258561;
for(i = 0; i < 4; i++)
printf("%c ", a.s[i]);
printf("\n");
}
解析: 0x44434241 -> 1145258561 其在内存中按下述方式存储到字节中: 0 41H 1 42H 2 43H 3 44H |