Dan wrote:
That sounds great, and seems like yet another reason for me to switch to D
(other than the removal of header files which always seemed like a kludge).
I heard that the compiler can change the padding bytes to non-null on
some occasions. For example, the compiler could treat member a as 32 bit
value when assigning it:
struct {
char a; //offset 0
int b; //offset 4
}
Nothing in the C standard says that the compiler has to preserve the
padding bytes between a and b. So I was told.
Just for the record though, I think one can initialize/blank/calloc C structs
too, but the problem is that some struct elements (of the same array) may have
padding while others don't, or perhaps they have different size paddings.
Not sure what you mean.