Thread overview
struct .sizeof
Aug 28, 2006
Funog
Aug 28, 2006
Tom S
Aug 28, 2006
Frank Benoit
August 28, 2006
Hi,
I usually program in java, so i'm not used to memory management.
For exemple, i do not understand why the following struct

struct Foo
{
  long a;
  byte b;
}

has a .sizeof of 16 ? couldn't it fit in 9 bytes ?
Thanks.
August 28, 2006
Funog wrote:
> Hi,
> I usually program in java, so i'm not used to memory management.
> For exemple, i do not understand why the following struct
> 
> struct Foo
> {
>   long a;
>   byte b;
> }
> 
> has a .sizeof of 16 ? couldn't it fit in 9 bytes ?
> Thanks.

Sure it could:

align (1) struct Foo
{
  long a;
  byte b;
}

static assert (Foo.sizeof == 9);
August 28, 2006
>> has a .sizeof of 16 ? couldn't it fit in 9 bytes ?
>> Thanks.
> 
> Sure it could:
> 
> align (1) struct Foo
> {
>   long a;
>   byte b;
> }
> 
> static assert (Foo.sizeof == 9);

Some more background info: http://en.wikipedia.org/wiki/Data_structure_alignment