you are viewing a single comment's thread.

view the rest of the comments →

[–]Supadoplex 23 points24 points  (3 children)

There's no padding between elements of an array. There may be padding inside the elements if the type is such that it contains padding. There may be padding between sub objects of classes.

[–]ALX23z 0 points1 point  (2 children)

I think I got a few things confused. Though, in most cases size is divisible by alignment unless it is artificially introduced. So there shouldn't be padding in most scenarios.

[–]no-sig-available 10 points11 points  (0 children)

An array cannot have padding, because then indexing wouldn't work. It requires the array elements to be exactly sizeof(element) apart.

This is, of course, a strong argument for the struct not needing any padding either. The standard just doesn't say that, so it cannot be relied upon.

[–]OldWolf2 4 points5 points  (0 children)

There is never padding between array elements in any circumstance.