strtr:

> I suspect this isn't the case for void initialization; if my struct has some 
> alignment hole I better not void initialize it if ever I want to compare it 
> with somthing.
> Is this correct?

That has to be correct.


> Would you ever have an alignment hole if all the struct contains are basic 
> types(excluding bool)?

On Windows the sizeof of this struct is 16 bytes, so there is a big hole in the 
middle:

struct Foo {
  short s;
  double d;
}

This is 12 bytes long, it has a smaller hole, even if the data needs the same 
space, because doubles need a stronger alignment:

struct Foo {
  short s;
  int[2] i;
}

Bye,
bearophile

Reply via email to