PREV INDEX NEXT

Author: Stan Eisenstat
Subject: Re: [Cs323] Bit fields
Date: Thursday, 12 Nov 2020, 07:59:57


    > Message Posted By: Unknown
    >
    > I am not sure if I understand bit fields correctly. Say if I have the
    > following struct:
    >
    > typedef struct
    > {
    >     unsigned int code : 24;
    >     unsigned int prefix : 24;
    >     char k : 8;
    > } tableEntry;
    >
    > Then the size of it would be 7 bytes?

No, 12 bytes, as you can verify by writing a short C
program that prints the size of a variable of that type.
If you put k second rather than third, the size if 8
bytes.
=====

    > And
    >
    > typedef struct
    > {
    >     unsigned int code : 24;
    >     unsigned int prefix : 24;
    >     char k : 8;
    >     unsigned int somebool :1;
    > } tableEntry;
    >
    > will be 8 bytes?

No, 12 bytes.  If you put k second rather than third,
the size if 8 bytes.

--Stan-
PREV INDEX NEXT