您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關大數據中如何進行共用體變量的使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
共用體變量的使用
程序中一般不能直接把共用體變量作為一個整體進行各種操作,也是通過成員運算得對共用體變量的各個成員變量的引用來完成各種運算和操作。
引用共用體變量成員的一般形式是:
共用體變量名.成員名
使用訪問上面共用體變量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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。