国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

深入理解結構體中占位符的用法

2020-01-26 16:05:52
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

typedef union
{
    struct x{
    char a1 : 2;
    char b1 : 3;
    char c1 : 3;
    }x1;
    char c;
}my_un;
int main()
{
    my_un a;
    a.c = 100;
    printf("%d/n",a.x1.c1);
    printf("%d/n",sizeof(my_un));

    return 0;
}

輸出結果:
3
1
即第一個是3, 而聯合體的大小為 1  
分析:
sizeof為1表示1個字節,結構體中占位符冒號表示占的位數,實際上還是3+3+2=8位就是1個字節

100--->01100100
共用體中結構體的數據也為100.
a1占低2位(00);
b1占低3到5位(001);
c1占高3位(011);
因此a.x1.c1打印值為3.
sizeof(my_un);
共用體所占的字節大小取決于最大成員.它們都為1(結構體所占比特位為2+3+3=8位,char型為1字節).
所以為1.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 太保市| 钟山县| 林芝县| 香河县| 梅州市| 凭祥市| 龙门县| 潞西市| 潜山县| 唐海县| 乡宁县| 永兴县| 新竹县| 徐州市| 容城县| 邻水| 石渠县| 淮南市| 油尖旺区| 蒙城县| 聊城市| 竹北市| 新田县| 巫溪县| 康平县| 巴南区| 五家渠市| 淮阳县| 泾阳县| 岳普湖县| 屯门区| 白河县| 哈密市| 云阳县| 乌拉特前旗| 宝坻区| 漯河市| 建始县| 青海省| 罗源县| 平度市|