Может ли порядок объявления переменных в структуре влиять на ее размер? - C#
Формулировка задачи:
Здравствуйте.
Недавно обнаружил интересную вещь. Есть вот такой код:
И результат:
Обратите внимание, что структуры A и B отличаются только порядком расположения полей. Как объяснить эти цифры (которые не являются суммой размеров полей) и различие в двух структурах?
struct A { byte a; // short b; byte c; short d; int e; } struct B { byte a; short b; byte c; // short d; int e; } void Main() { unsafe { Console.WriteLine("Size of A: {0}\nSize of B: {1}", sizeof(A), sizeof(B)); } }
Size of A: 8 Size of B: 12
Решение задачи: «Может ли порядок объявления переменных в структуре влиять на ее размер?»
textual
Листинг программы
|7 6 5 4||3 2||1||0| | e || b ||c||a| |11 10 9 8|7 6 5|4||3 2|1|0| | e | |c|| b | |a|
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д