Инкрементирование указателя структуры - C#
Формулировка задачи:
Мне не понятен принцип инкрементирования указателя структуры. У Шилдта объясняется как изменяются адреса у int (на 4 байта) и double (на 8), а вот про структуры не увидел. Вот пример кода:
В итоге адрес на каждом шаге изменяется на 24. А вот, например, если заменить на , то уже на 32. Разъясните, пожалуйста.
using System;
struct my
{
int a;
double b;
int c;
int d;
}
class m
{
unsafe static void Main()
{
my znach;
my* uki = &znach;
for (int i = 0; i < 10; i++)
{
Console.WriteLine((int)uki);
uki++;
}
}
}int d
double d
Решение задачи: «Инкрементирование указателя структуры»
textual
Листинг программы
struct MyStruct
{
public uint A; // 4 байта
// +4 байта для выравнивания ulong
public ulong B; // 8 байт
public uint C; // 4 байта
public uint D; // 4 байта
}