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

": 1"을 이해하지 못합니다. 제발 도와주세요.C 구조체 : 이것은 무엇을 의미합니까?

+0

은 '=' – AurA

+0

의 오타 일 수 있습니다. http://c-faq.com/struct/bitfield0.html – Najzero

+0

": 1"은 1 비트를 사용합니다 (값 1이 아님) –

답변

3

이들은 비트 필드 : https://en.wikipedia.org/wiki/Bit_field입니다. 여기에서는 'flanke'에 1 비트를, 'lastState'에 1 비트를 예약합니다. 형식은 부호없는 int 여야합니다.

+0

+1,하지만이 링크는 Microsoft의 특성을 일부 가지고 있지만 https://en.wikipedia.org/wiki/Bit_field –

+0

좋습니다. – Stasik

2

여기서 볼 수있는 것은 bit field 선언 사용법입니다. 이것은 주어진 구조체 멤버가 구조체에서 차지할 비트 수를 나타 내기 위해 사용됩니다. 그래서 주된 용도는 구조체를 패킹하여 메모리가 덜 차지하도록하는 것입니다.