Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Размер struct |
Автор: comp 17.6.2008, 20:24 | ||
Есть вот такой вот код:
Два вопроса: 1. Почему размеры структур отличаются, когда мы переменную i описываем между чарами(ST2) и "вне" их(ST)... 2. Почему размер ST равен 8ми байтам. Ведь, по-идее, должен равняться 6ти(int - 4, char - 1. 4 + 1 + 1 = 6). Откуда беруться лишние 2 байта? |
Автор: Daevaorn 17.6.2008, 20:29 |
Поиском по форуму пользовались? Гуглом владеете? Если нет, то http://en.wikipedia.org/wiki/Data_structure_alignment |
Автор: baldina 17.6.2008, 21:27 |
ну не знает человек, объясните, чего ругаться... comp, добавь в начало #pragma pack(1) и будет как ты ожидаешь. Дело в том что по умолчанию используется выравнивание структур данных по границе машинного слова (но в принципе может быть любым). Ссылка полезная у тебя есть. Если кратко - это позволяет более эффективно использовать процессор. |
Автор: vinter 17.6.2008, 21:45 |
просто довольно частый вопрос и здесь было много раз. |
Автор: knut 18.6.2008, 09:23 |
comp, вот посмотри http://www.rsdn.ru/Forum/?mid=629371 |