2012-08-23 83 views
2

您好所有能有人幫我這一段代碼怎麼做這個結構的代碼工作

struct 
     { 
    unsigned BLOCKDATA:16; 
    unsigned QUALCOUNT:4; 
    unsigned BLOCKTYPE:2; 
    unsigned BE:1; 
    unsigned Z:1; 
    unsigned SYN:1; 
    unsigned DOK:1; 
    unsigned BM:1; 
    unsigned SYNDROME:5; 
} 
    RDSout; 

我明白RDSout是一種結構和BLOCKDATA和QUALCOUNT等都是這種結構的元素,但我不明白是什麼BLOCKDATA的意思是前面的:16

+2

他們被稱爲位字段。 – cnicutar

回答

6

這樣你可以聲明你想爲這個變量保留多少位。它通常用於對齊數據結構。 wikipedia article包含一個很好的解釋。

+0

Thanx有意義 – sin

0

結構中每個元素之後的數字顯示我們爲每個元素保留多少位。當您已經知道要使用的確切位數時,通常會打包位並節省內存。您也可以參考here以使您的概念更清晰。

More Links

And One more

+0

謝謝,這有助於很多鏈接也很有用。 – sin