Динамічний масив і його особливості

Дата:

2019-07-24 22:30:08

Перегляди:

643

Рейтинг:

1Дизлайк 0Любити

Поділитися:

Table of contents:

Масивом в загальному випадку називають упорядкований набір елементів, кожен з яких має певний (один і той же) тип. Масиви бувають статичними і динамічними. Довжина першого задається на етапі програмування, тобто перед початком запуску програми на виконання, другого – по ходу виконання.
Для статичного масиву при описі повинно бути визначено кількість елементів, що протягом роботи програми не можна змінити (збільшити або зменшити). При запуску програми, що використовує статичний масив, на виконання оперативної пам'яті виділяється деяка кількість байт для зберігання його елементів. Цей обсяг пам'яті буде закріплений за програмою до тих пір, поки вона не закінчить свою роботу. Навіть якщо ця пам'ять не буде використовуватися, ніякий інший програмний код не зможе отримати до неї доступ.
Мова програмування Pascal може працювати тільки зі статичними масивами. Тому, якщо потрібно працювати з послідовністю змінної довжини, можна описати структуру, наприклад, зі ста елементів, і використовувати на різних етапах різну кількість елементів, що не перевищує число 100. А це, звичайно, нерозумно.
Такої проблеми не існує в інтегрованому середовищі розробки Delphi. Динамічний масив дозволяє при описі не вказувати кількість елементів, а визначати його під час виконання програми. Динамічний масив можна описати в розділі Var наступним чином:
Var Massive:array of integer

 delphi динамічний масив

Таким чином, структура, позначена ідентифікатором Massive, являє собою лінійну цілочисельну послідовність невідомою (поки!) довжини. Щоб задати розмір, у програмі необхідно застосувати процедуру SetLength, наприклад, SetLength(Massive,9). Динамічний масив Massive знайде розмірність, рівну числу 9. Тепер визначено, що у послідовності присутні дев'ять елементів цілого типу, пронумеровані від нуля. Такими особливостями має динамічний масив. Delphi має процедуру, звільняє пам'ять від набору чисел, коли потреба в їх зберіганні відпала. Це процедура Finalize, в нашому випадку вона буде застосована наступним чином: Finalize(Massive).

динамічний масив

Подібним чином можна описувати і застосовувати багатовимірні динамічні масиви в Delphi. Наприклад, двовимірна динамічна структура буде описана так:
Var Massive:array of array of integer
При необхідності стовпці матриці можуть бути різної довжини. Це також задається процедурою SetLength.

динамічний масив delphi

Часто буває, особливо в великих і складних програмах, що деякі структури даних використовуються час від часу або тільки на початку/кінці роботи програми. При цьому було б дуже марнотратним тримати місце в оперативній пам'яті «про запас». Динамічний масив – один із способів раціонального розподілу ресурсів обчислювальної системи. Хоча і володіє деякими недоліками. По-перше, це не завжди зручна нумерація елементів з нуля. По-друге, програмісту потрібно постійно розуміти в кожній точці програмного коду, в якому стані знаходиться динамічний масив. Але його достоїнства роблять смішними всі ці труднощі. Зокрема, якщо потрібно передати з підпрограми дані великого обсягу, то без динамічного способу подання не обійтися.


Article in other languages:

AR: https://tostpost.com/ar/computers/18583-dynamic-array-and-its-features.html

BE: https://tostpost.com/be/kamputary/35517-dynam-chny-mas-yago-asabl-vasc.html

DE: https://tostpost.com/de/computer/35163-dynamische-array-und-seine-eigenschaften.html

En: https://tostpost.com/computers/29658-dynamic-array-and-its-features.html

ES: https://tostpost.com/es/equipos/35025-la-matriz-din-mica-y-sus-caracter-sticas.html

HI: https://tostpost.com/hi/computers/20246-dynamic-array-and-its-features.html

JA: https://tostpost.com/ja/computers/18231-dynamic-array-and-its-features.html

KK: https://tostpost.com/kk/komp-yuterler/35810-dinamikaly-massiv-zh-ne-ony-erekshel-kter.html

PL: https://tostpost.com/pl/komputery/36959-dynamiczny-model-i-jego-cechy.html

PT: https://tostpost.com/pt/computadores/36747-um-array-din-mico-e-suas-caracter-sticas.html

TR: https://tostpost.com/tr/bilgisayarlar/32248-dinamik-bir-dizi-ve-zellikleri.html

ZH: https://tostpost.com/zh/computers/7796-dynamic-array-and-its-features.html






Alin Trodden - автор статті, редактор
"Привіт, Я Алін Тродден. Я пишу тексти, читаю книги і шукаю враження. І я непогано вмію розповідати вам про це. Я завжди радий брати участь у цікавих проектах."

Примітка (0)

Ця стаття не має коментарів, будьте першим!

Додати коментар

Новини

Що таке промо-код в іграх?

Що таке промо-код в іграх?

Як часто в житті бувають ситуації, коли вам дуже хочеться роздобути певний товар, але при цьому вам здається, що він коштує занадто дорого. І ви відмовляєтеся від затії, але надія на придбання бажаної речі завжди залишається. Ви д...

Этериевая корона. Як отримати этериевую корону в

Этериевая корона. Як отримати этериевую корону в "Скайрим"

Этериевая корона – древній двемерский артефакт, отримати яку можна за проходження квесту «Загублене в століттях». Про те, як створити цей магічний предмет і які переваги він дає, ви дізнаєтеся з цього огляду.Як д...

Те, що треба знати про консольних командах CS: GO для прицілу

Те, що треба знати про консольних командах CS: GO для прицілу

Мабуть, кожен геймер хоча б раз грав у таку гру, як Counter-Strike, тому практично кожен знає, що у спеціальної гвинтівки AWP немає прицілу, чому стрільба від стегна завдає чимало незручностей. Також не всім подобається стандартни...

Слоти - це що таке?

Слоти - це що таке?

Комп'ютерні комплектуючі (оперативна пам'ять, звукова карта, відеокарта і т. д.) підключаються через спеціальні інтерфейси – слоти. Це роз'єми для розширення можливостей ПК. Також вони можуть називатися картами розширення аб...

Як запустити Android на комп'ютері. Установка Андроїд на комп'ютер

Як запустити Android на комп'ютері. Установка Андроїд на комп'ютер

Не секрет, що довгий час до системи Android ставилися з недовірою, а багато любителі «яблучних девайсів» навіть робили вигляд, що її не існує. Але тепер все більше людей, переситившись горезвісними фруктами, стали звер...

Як прийняти естафету у

Як прийняти естафету у "Инстаграме" і стати популярним?

Флеш-моби завжди були популярні не тільки в реальному житті, але і в інтернеті. Найчастіше різні естафети зустрічаються в соціальних мережах. Їх суть зібрати навколо однієї теми величезна кількість людей, які б дотримувалися певни...