2010-06-12 40 views
0

可能重複:
What does ‘unsigned temp:3’ means結構字段之後的':number'是什麼意思?

我遇到了一些代碼來這樣的,我不知道有:

unsigned long byte_count : 32 
unsigned long byte_count2 : 28 

什麼是:這裏的意思?

+0

unsigned long byte_count2:28 – lukmac 2010-06-12 17:09:03

+2

['unsigned temp:3'是什麼意思]的完全重複(http://stackoverflow.com/questions/2950029/what-does-unsigned-temp3-means) – 2010-06-12 17:34:10

回答

12

即一個bit field

computer programming使用的數據結構。它由多個相鄰的計算機存儲器位置組成,這些存儲器位置被分配用於保存一系列的bits,這些位置被存儲以便該組中的任何單個位或一組位可以被尋址。比特字段最常用來表示integral types的已知固定比特寬度...

+0

哇,我沒想到有人會這麼快回答。不勝感激! – lukmac 2010-06-12 17:19:58

+0

@lukmac:如果此答案回答了您的問題,則應該在此答案旁邊勾選複選標記。 :) – 2010-06-12 17:23:25

-1

它也是非標準的。位字段的類型必須是_Bool(C99),有符號整數或無符號整數。但是,GCC允許任何整數類型。該類型影響字段的對齊,後續字段的對齊以及包含位字段的結構的總體大小。

+3

在C++中,它們可以是任何整數或枚舉類型。 – GManNickG 2010-06-12 17:28:56