2010-06-12 44 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