0
代碼片斷如下:C結構位字段
struct wer
{
unsigned int a:5;
unsigned int:0;
unsigned int b:3;
unsigned int c:2;
unsigned int:0;
}v;
我知道,所有的這些都擠滿位字段,但如何找到這將需要爲v存儲
代碼片斷如下:C結構位字段
struct wer
{
unsigned int a:5;
unsigned int:0;
unsigned int b:3;
unsigned int c:2;
unsigned int:0;
}v;
我知道,所有的這些都擠滿位字段,但如何找到這將需要爲v存儲
可以。使用sizeof(v)
獲得v
所需的存儲空間。
是的,但如果我們想要手動計算它的方法 – soul
@soul:你必須閱讀你的編譯器手冊,看看它是如何工作的。這是所有的實現定義(或主要是實現定義)。我可以看到佔用8個字節;我可以看到它佔用2個字節。我相信這個標準可以允許任何其他價值,也可能允許其他一些價值。我不認爲第二個零長度字段會改變答案。 (在Mac上,GCC 5.1.0的大小爲8.) –
@Jonathan Leffler好吧,我得到了它 – soul