国产探花免费观看_亚洲丰满少妇自慰呻吟_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.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 拉孜县| 古浪县| 犍为县| 清河县| 永胜县| 塔河县| 视频| 班玛县| 缙云县| 吉隆县| 塘沽区| 广德县| 澄城县| 临潭县| 鞍山市| 安新县| 东海县| 北京市| 凤山县| 北流市| 砚山县| 潜山县| 乐东| 永仁县| 乌什县| 靖远县| 德化县| 建水县| 平遥县| 友谊县| 农安县| 松江区| 乌兰浩特市| 怀宁县| 凉城县| 延津县| 璧山县| 肃南| 门源| 合江县| 荆门市|