2012-08-23 6 views
2

안녕하세요 모든 사람은않는 방법이 구조 코드 작업

struct 
     { 
    unsigned BLOCKDATA:16; 
    unsigned QUALCOUNT:4; 
    unsigned BLOCKTYPE:2; 
    unsigned BE:1; 
    unsigned Z:1; 
    unsigned SYN:1; 
    unsigned DOK:1; 
    unsigned BM:1; 
    unsigned SYNDROME:5; 
} 
    RDSout; 

내가 RDSout가 구조 등 BLOCKDATA 및 QUALCOUNT이 구조의 요소하지만 내가 무엇을 이해 해달라고 이해하고이 코드 조각으로 나에게 도움이 될 수 있습니다 : BLOCKDATA 앞의 16은?

+2

그들은 불리는 비트 필드이야. – cnicutar

답변

6

이렇게하면 해당 변수에 예약 할 비트 수를 선언 할 수 있습니다. 일반적으로 데이터 구조를 정렬하는 데 사용됩니다. wikipedia article에는 좋은 설명이 포함되어 있습니다.

+0

고맙습니다. – sin

0

구조의 각 요소 다음에 오는 숫자는 각각에 대해 예약하는 비트 수를 나타냅니다. 사용되는 정확한 비트 수를 이미 알고있을 때 비트를 압축하고 메모리를 절약하기 위해 일반적으로 수행됩니다. here을 참조하여 개념을 명확하게 할 수도 있습니다.

More Links

And One more

+0

많은 도움을 주셔서 감사합니다. 링크도 유용했습니다. – sin