共用体的成员与特性

来源:互联网 发布:圆形玻璃定制淘宝 编辑:程序博客网 时间:2024/05/16 08:38

共用体的成员与特性

#include "stdafx.h"#include <string.h>#if 0结构体的大小是由所有成员空间大小组合而成共用体的大小是由最大的成员空间大小决定的结构体每一个成员都是拥有自己的地址而共用体每一个成员共同拥有一个起始地址虽然所有成员共用一段内存,但是真正意义的,只有最后一赋值的变量是有意义的union untest{unsigned char c;unsigned short s;unsigned int i;}myun;printf("sizeof(myun)=%d\n", sizeof(myun));printf("%p\n", &myun.c);printf("%p\n", &myun.s);printf("%p\n", &myun.i);//打印的地址相同myun.i = 0x11223344;printf("myun.i=%x\n", myun.i);//11223344printf("myun.s=%x\n", myun.s);//3344printf("myun.c=%x\n", myun.c);//44#endifunion untest{char str[10];int var;}myun;int _tmain(int argc, _TCHAR* argv[]){strcpy(myun.str, "china");printf("myun.str=%s\n", myun.str);//chinaprintf("myun.var=%s\n", myun.var);//显示有误myun.var = 200;printf("myun.var=%s\n", myun.var);//200printf("myun.str=%s\n", myun.str);//显示有误return 0;}