@vrdtag

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы