2013-06-12 99 views
1
typedef struct{ 
     unsigned flanke:1;   
     unsigned lastState:1; 
     } flanke_t; 

我不明白“:1”。请帮助我,thx。C struct:这是什么意思?

+0

可能是'='的错字 – AurA

+0

看看这里:http://c-faq.com/struct/bitfield0.html – Najzero

+0

“:1”表示占用1位,(不是值1) –

回答

3

这些是位字段:https://en.wikipedia.org/wiki/Bit_field。在这里,你只需要预留1位'flanke'和一个'lastState'。该类型必须是unsigned int。

+0

+1,但这个链接有一些微软的细节,我建议https://en.wikipedia.org/wiki/Bit_field –

+0

没问题,接受。 – Stasik

2

你在这里看到的是bit field声明的用法。它用于指示给定结构成员在结构中占用的位数,因此它的主要用途是打包一个结构以便占用更少的内存。