Author: Stan Eisenstat
Subject: Re: [Cs323] Bit fields followup
Date: Thursday, 12 Nov 2020, 16:53:05
> Message Posted By: Unknown
>
> Can you explain why putting k second rather than third (in
> the following struct) will make a difference?
>
> > typedef struct
> > {
> > unsigned int code : 24;
> > unsigned int prefix : 24;
> > char k : 8;
> > } tableEntry;
C bit fields are implementation-dependent. The most
likely explanation for the struct above requiring 12
bytes is that gcc does not allow any field to span a
multiple-of-four-byte boundary.
=====
> Also I found that in order to pass test 18 (All storage
> reachable), all the bits add up together must be a multiple
> of 8, I was wondering why?
My solution offers a counterexample to the claim above.
What is your basis for making it? (I suggest that we
take this discussion off the newsgroup since i doubt
that is of interest to most students.)
--Stan-
PREV
INDEX
NEXT