2013-06-12 72 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聲明的用法。它用於指示給定結構成員在結構中佔用的位數,因此它的主要用途是打包一個結構以便佔用更少的內存。