У меня есть этот образец кода, который я украсил пакетом, чтобы убедиться, что его размер равен 5 байт (4 для int и 1 для char).Почему размер этой структуры неверен
но распечатать, что размер структуры составляет 8 байт.
#pragma pack push
#pragma pack 1
struct mystruct
{
int x;
char y;
};
#pragma pack pop
//static_assert(sizeof(mystruct) == 5, "Size of mystruct should be 5 byte.");
int _tmain(int argc, _TCHAR* argv[])
{
int x=sizeof(mystruct);
printf("size of struct is %d\n",x);
return 0;
}
Почему te pck не работает?
Как убедиться, что размер структуры всегда 5.
Подробнее о [Padding] (http://stackoverflow.com/questions/6968468/padding-in-structures-in-c). ваш вопрос уже содержит более 100 дубликатов только на SO. –
'C' или' C++ '? Есть разница. Пожалуйста, просто выберите тот, который вы используете. – stefan
@Stefan Я слушаю C++ на визуальной студии. – mans