Sobes.tech
Junior — Middle

Kuidas on massiivi struktuur mälus organiseeritud ja kuidas toimub juurdepääs selle elementidele?

sobes.tech AI

Vastus AI-lt

Go keeles massivid on järjestikused mälupuhvrid, kus elemendid paiknevad üksteise järel. Iga element võtab ruumi fikseeritud suurusega, mis sõltub andmetüübist.

Massivi elemendile juurdepääs toimub aadressi arvutamise teel: massivi põhiaadress pluss nihke, mis võrdub elemendi indeksiga korrutatuna elemendi suurusega. See võimaldab kiiret juurdepääsu igale elemendile indeksiga konstantses ajas.

Näide:

var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr on mälus salvestatud kui järjestus 5 täisarvust
fmt.Println(arr[2]) // Kuvab 30

Siin on arr[2] element indeksiga 2, mille aadress arvutatakse kui massiivi algus aadress plus 2 * sizeof(int).