Короче, пиздец, чуваки, готовлюсь занять нишу Сидристого для малышей! 🤰
Делаю доклад для самых маленьких про память в дотнете (по карйней мере моя задумка сделать так, чтобы понял ну прям ваще максимально зеленый юнит) и дошел вот до такого примера:
int varInStack = 123456789;
int[] varInHeap = new int[1];
varInHeap[0] = 42;
unsafe
{
int* p = &varInStack;
Console.WriteLine(
$"Address of varInStack:
0x{(long)p:X}");
fixed (int* q = varInHeap)
{
Console.WriteLine(
$"Address of varInHeap :
0x{(long)q:X}");
}
}
Не пугайтесь ансейфа и фикседа – тут просто выводится адрес в памяти для переменной в стеке и для переменной в куче.
❓ Вопрос: При каждом запуске программы выводимые адреса будут одни и те же, или будут меняться каждый раз?
Короче, я сразу в комментариях ответ напишу