Junior — Middle
Op welke plek in het geheugen bevindt zich het eerste element van de array in een automatisch geheugensysteem?
sobes.tech AI
Antwoord van AI
In C# zijn arrays referentietypen en worden ze opgeslagen in de managed heap. Het eerste element van de array bevindt zich in het geheugen direct na de service-informatie van de array (bijvoorbeeld de lengte).
Wanneer je een array aanmaakt, wijst de CLR een geheugenblok toe op de heap, waarin eerst de metadata van de array worden opgeslagen, gevolgd door de elementen van de array in een rij. Hierdoor bevindt het eerste element van de array zich op een adres dat is verschoven vanaf het begin van het geheugenblok met de grootte van het service-gedeelte.
Dit maakt efficiënte toegang tot de array-elementen mogelijk via indexering, omdat de elementen in een aaneengesloten geheugenblok worden opgeslagen.
Voorbeeld:
int[] numbers = new int[] {1, 2, 3};
// numbers wijst naar een object op de heap waar de elementen worden opgeslagen
int firstElement = numbers[0]; // toegang tot het eerste element