Junior — Middle
Comment la structure du tableau est-elle organisée en mémoire et comment l'accès à ses éléments est-il effectué?
sobes.tech IA
Réponse de l'IA
В Go массивы — это последовательные блоки памяти, где элементы хранятся подряд друг за другом. Каждый элемент занимает фиксированный размер, зависящий от типа данных.
Доступ к элементу массива происходит через вычисление адреса: базовый адрес массива плюс смещение, равное индексу элемента, умноженному на размер элемента. Это обеспечивает быстрый доступ к любому элементу по индексу за константное время.
Пример:
var arr [5]int = [5]int{10, 20, 30, 40, 50}
// arr хранится в памяти как последовательность 5 целых чисел
fmt.Println(arr[2]) // Выведет 30
Здесь arr[2] — это элемент с индексом 2, адрес которого вычисляется как адрес начала массива + 2 * sizeof(int).