On Thu, Jul 07, 2022 at 01:49:02AM +0800, Tao Zhou wrote: > > +struct rv_monitor { > > + const char *name; > > + const char *description; > > + bool enabled; > > Can the 'bool enabled;' be put at the end like the definition of > structure rv_monitor_def. If '8+8+sizeof(bool)+8+8+8' not the same > as '8+8+8+8+8+sizeof(bool)', I mean is it possible that after the > end of stucture there is a int or char not require to align to 8 as > an example from my nonsense. That will make no difference at all. C doesn't allow other variables to "fill in the hole" at the end of the structure like that. For example, one could legitimately do 'memset(&rvm, sizeof(rvm))', and that would wipe out those other variables as well.