Junior — Middle
Na jakém místě v paměti se nachází první prvek pole v systému automatického řízení paměti?
sobes.tech AI
Odpověď od AI
V C# jsou pole referenční typy a jsou umístěny na spravovaném haldě (managed heap). První prvek pole se nachází v paměti přímo za servisními informacemi o poli (například délkou).
Když vytvoříte pole, CLR přidělí blok paměti na haldě, kde jsou nejprve uloženy metadata pole, a poté následují prvky pole v řadě. Tím je první prvek pole umístěn na adrese posunuté od začátku bloku paměti o velikost servisní části.
To umožňuje efektivní přístup k prvkům pole podle indexu, protože prvky jsou uloženy v souvislém bloku paměti.
Příklad:
int[] numbers = new int[] {1, 2, 3};
// numbers ukazuje na objekt na haldě, kde jsou uloženy prvky
int firstElement = numbers[0]; // přístup k prvnímu prvku