TeamH4C_ProjectH4C/프로그래밍 언어

[TeamH4C_C언어] 구조체 추가 정리(비트 필드)

P4P3R_H 2021. 4. 11. 00:59

지금까지 멤버가 각 자료형 크기만큼 공간을 차지하는 것을 확인했다면 지금부터 비트 필드를 사용하여 비트 단위로 저장시키는 것을 알아볼 것입니다.

struct 구조체이름 {
    정수자료형 멤버이름 : 비트수;
};

위의 형식이며 비트 수 부분에 비트 크기를 지정하여 저장하도록 합니다. 2진수 형태로 1 글자당 1비트로 하여 숫자를 저장할 수 있습니다.

비트 수를 초과하게 된다면 나머지 비트에 해당하는 값은 버려지고 남은 값들만 출력되게 됩니다. 또한, 비트 필드의 각 멤버는 최하위 비트(Least Singnificant Bit, LSB)부터 차례대로 배치됩니다.

여기서, 비트 필드의 멤버를 선언하는 자료형보다 큰 비트 수는 에러가 발생하기에 지정할 수 없습니다.

 

공용체와 함께 사용하게 된다면 구조체에서 각 비트 수에 맞게 이어 붙어 출력되게 됩니다.