У меня есть struct
:
struct st
{
short a;
int *b;
char ch;
};
short
— 2 байтаint*
— 8 байтов в x64char
— 1 байт
Все вышеперечисленное вместе должно дать мне 11 байт. Но если я сделаю sizeof(st)
, я получу 24 байта. Почему struct
использует больше памяти и как уменьшить память до 11 байт?
#pragma pack
, но он не портативный и требует осторожности. Если хотите что-то получше, попробуйте это. - person chris   schedule 09.01.2014-Wcast-align
и друзей. - person jww   schedule 09.01.2014