Skip to main content

Як обчислюється адреса елемента масиву в пам'яті?

Адреса елемента масиву обчислюється арифметично, за формулою, яка залежить від:

  • адреси початку масиву,
  • розміру одного елемента,
  • і індексу потрібного елемента.

Формула

Якщо:

  • base_address - адреса першого елемента масиву,
  • index - номер потрібного елемента (починаючи з 0),
  • size - розмір одного елемента в байтах,

то:

[ \text{address} = \text{base_address} + (\text{index} \times \text{size}) ]


Приклад

Припустимо:

  • масив A починається за адресою 1000,
  • кожен елемент займає 4 байти,
  • потрібно знайти адресу A[3].

Підставимо:

[ 1000 + (3 \times 4) = 1012 ]

Адреса елемента A[3] = 1012.


Чому це працює

Масив зберігається у безперервних комірках пам'яті, без "пропусків". Тому кожен наступний елемент розташований точно на size байтів далі попереднього. Комп'ютеру не потрібно "шукати" елемент - він просто виконує це арифметичне обчислення.


Важливо

  • Саме через таку схему доступ за індексом у масиві - O(1) (постійний час).
  • У зв'язному списку так не можна - там елементи лежать у різних місцях пам'яті, і потрібно йти за посиланнями.

Підсумок:

Адреса елемента масиву = адреса початку + (індекс × розмір елемента). Це робить масив однією з найшвидших структур для прямого доступу до даних.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.