Сообщение от
Валенок
С конца.
Для чего нужна - это Ваше. Какой это тон - а вам не...? Вам же с этим работать. Размещение по абсолютным адресам иногда удобно, но сдуру можно... сломать.
Ключевое слово "выравнивание". Безотносительно ПЛК. Сами гуглим.
Локальная особенность при авторазмещении :
-байтовое пофиг //byte, sint, using, string и их производные в виде array
-2х байтное адрес кратный 2 //word, int, uint и их производные из array
-4х байтное адрес кратный 4 //real, dword, dint и структуры и их производные из array/struct в любом сочетании.
+(местное) размер struct автодобивается под кратность 4.
Отсюда
1. Да т. к. 2000, struct и first
2. Нет. т. к. real с +2(т.к. MW) . Перед ним будет неявный word
3. Нет, но из за 2-ого, а так stringу пофиг. Итог +4(MW!)
4. Нет, но из за 2-ого. А так, в сочетании того что sizeof 3-ого четный пофиг
Ну и т.к. 2й +2(MW!), а sizeof(2й) + sizeof(3й) кратен 4, в конце struct НЕ будет ничего автодобавлено.