Может ли порядок объявления переменных в структуре влиять на ее размер? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Недавно обнаружил интересную вещь. Есть вот такой код:
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
Обратите внимание, что структуры A и B отличаются только порядком расположения полей. Как объяснить эти цифры (которые не являются суммой размеров полей) и различие в двух структурах?

Решение задачи: «Может ли порядок объявления переменных в структуре влиять на ее размер?»

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|

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы