구조체 설정..
글쓴이: kgykingdom / 작성시간: 수, 2008/01/02 - 6:42오후
제가 6 byte 의 구조체를 아래와 같이 설정했는데..
sizeof() 를 하니 7 byte 가 출력되네요.. 문제는 union 선언 때문인데.. (union 이 2byte 로 잡히고 다들 4 bit 씩 밀려서.. )
공용 메모리로 사용하고 싶은데.. 방법이 없는지요.. 꼭 6 byte 로 맞춰야 합니다.
그리고 count 값에 따라서 다른 필드(a or b)를 넣고 싶은데.. union 말고 다른 방법이 있으면 가르침 부탁드립니다.
#pragma pack (push,1) typedef struct header { unsigned flag:1; unsigned count:1; unsigned id:6; union { unsigned a:12; // if count == 0 unsigned b:12; // if count == 1 } data; unsigned produce:4; unsigned consume:4; unsigned reserved:1; unsigned length:11; } H, *pH; #pragma pack (pop)
Forums:
댓글 달기