@vrdtag

Как хранится struct в памяти?

Как хранится C++ struct в памяти? Возможно я плохо ищу, но я нигде не могу найти ответ. В одном месте пишут что занимается на каждую переменную памяти сколько нужно конкретному типу данных, в другом что берется максимально нужная память из всех типов и столько же берется для остальных, в другом вообще написано что зависит от порядка инициализации переменных.

Например как будет в памяти хранится:

struct Structure {
   int a;
   char b;
   int c;
}
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Зависит от компилятора и заданных при компиляции опций. Например, при плотной упаковке (#pragma pack(1)) каждый элемент структуры занимает ровно столько, сколько ему необходимо. А при выравнивании на 64 бита (#pragma pack(8)) под каждый элемент выделится память, кратная 8 байтам и достаточная для размещения элемента. Для разных архитектур процессоров могут быть доступны разные настройки выравнивания.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы