本篇文章给大家分享的是有关大数据中如何进行共用体变量的使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
共用体变量的使用
程序中一般不能直接把共用体变量作为一个整体进行各种操作,也是通过成员运算得对共用体变量的各个成员变量的引用来完成各种运算和操作。
引用共用体变量成员的一般形式是:
共用体变量名.成员名
使用访问上面共用体变量u1的成员a采用如下方式:
u1.a
如果两个共用体变量使用同一个共用体类型定义,则它们之间可以相互赋值,例如上面定义的两个变量u1和u2之间可以相互赋值。
共用体变量在定义时也可以进行初始化工作,其一般形式如下:
union 共用型名 共用体变量名={成员1初值};
注意:共用体变量进行初始化工作时,赋值符右边的花括号中只能是第一个成员的初始
值,并且花括号是不能省略的。例如
union data
{
short a;
int b;
double c;
} ;
union data u={123};
【例】分析如下程序的运行结果。
源代码如下
1#include<stdio.h>
2union data
3{
4 short n;
5 char c[2];
6};
7int main()
8{
9 union data d;
10 char x;
11 d.n=0xFF11;
12 printf("交换操作前:d.n=%d\n",d.n);
13 x=d.c[0];
14 d.c[0]=d.c[1];
15 d.c[1]=x;
16 printf("交换操作后:d.n=%d\n",d.n);
17 return 0;
18}
完整代码的程序运行结果:
运行结果分析:在本例中定义的共用体类型变量d有两个成员,成员n是short类型,占用2个字节内存,成员c是长度为2的char数组,也占用2个字节。注意成员n和c的内存空间是共用的。
程序第11行给成员n赋值为十六进制整数0xFfF11对应的二进制是1111111100010001。第12行以十进制有符号数形式输出的结果是-239。
程序第13行到15行对字符数组c的两个元素进行了交换,其中c[0]与n的第1个字节占用相同内存空间,其值二进制形式为11111111与n的第2个字节占用相同内存空间,其值二进制形式为00010001。这样交换c[0]和c[1],实际上也就是交换了成员n的第1个字节和第2个字节,交换后成员n的值的二进制形式为0001000111111111。
因此,程序的第16行以十进制有符号数形式输出成员n的结果是4607。
以上就是大数据中如何进行共用体变量的使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。