[問題] UNION

看板C_and_CPP作者 (honamida)時間14年前 (2011/11/13 01:46), 編輯推噓0(004)
留言4則, 4人參與, 最新討論串1/2 (看更多)
有一個整數轉bit pattern的問題想問問 這是程式碼 struct unit { unsigned a0:1; unsigned a1:1; unsigned a2:1; unsigned a3:1; unsigned a4:1; unsigned a5:1; unsigned a6:1; unsigned a7:1; }; union unionbit{ int value; struct unit bit; }; int main () { unionbit u; scanf("%d",&u.value); printf("%d%d%d%d%d%d%d%d",u.bit.a7,u.bit.a6,u.bit.a5,u.bit.a4,u.bit.a3,u.bit.a2,u.bit.a1,u.bit.a0); system("pause"); return 0; } 我想問的是 為什麼union裡面直接把struct裡的東西擺進去 而不用struct 出來的答案就不是我要的(亂七八糟的答案) 不是讓int 跟 unsigned 共用address嗎?? 感覺跟再宣告一個struct 擺進去意思一樣阿= = 還有如果我要八個bit 就一定要像上面在struct裡面宣告八個unsigned 嗎 有辦法一行解決嗎? 謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.199.166

11/13 02:05, , 1F
明明就是 9 個 unsigned..
11/13 02:05, 1F

11/13 02:18, , 2F
多打一個 抱歉抱歉~
11/13 02:18, 2F
※ 編輯: honamida 來自: 122.117.199.166 (11/13 02:19)

11/13 03:31, , 3F

11/13 15:16, , 4F
http://codepad.org/28aBqWrC 用 C++ 亂寫的
11/13 15:16, 4F
文章代碼(AID): #1Elh413V (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
問題
1
6
完整討論串 (本文為第 1 之 2 篇):
問題
1
6
問題
0
4
文章代碼(AID): #1Elh413V (C_and_CPP)