Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим статичний масив відрізняється від динамічного?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Статичний масив** отримує пам'ять один раз під час створення і не може змінювати розмір, тоді як **динамічний масив** може змінювати розмір під час виконання, виділяючи пам'ять у купі за потреби. **Ключове:** статичний масив швидкий і простий, а динамічний - гнучкий, але іноді витрачає час на копіювання елементів при розширенні.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Статичний масив** і **динамічний масив** відрізняються тим, **як і коли їм виділяється пам'ять** і **чи може розмір масиву змінюватися під час роботи програми**. --- ### **1. Статичний масив** - Розмір задається **один раз під час створення**. - Пам'ять виділяється **заздалегідь** (у стеку або у фіксованій області пам'яті). - Змінити кількість елементів **не можна** - якщо потрібно більше, створюється новий масив. **Приклад (C):** ```c int a[5]; // масив із 5 елементів ``` Якщо потрібен 6-й елемент - додати неможливо, лише пересоздати масив. **Переваги:** - Проста структура. - Швидкий доступ до елементів. - Немає перерозподілів пам'яті. **Недоліки:** - Не можна змінити розмір. - Можлива витрата зайвої пам'яті, якщо виділено "із запасом". --- ### **2. Динамічний масив** - Розмір можна **змінювати під час виконання**. - Пам'ять виділяється **у купі (heap)** - за потреби. - При переповненні створюється новий блок пам'яті, і елементи копіюються туди. **Приклад (Python / C++):** ```python arr = [1, 2, 3] arr.append(4) # додавання нового елемента ``` (У C++ - `std::vector`, у Java - `ArrayList`.) **Переваги:** - Гнучкість - можна додавати і видаляти елементи. - Розмір зростає автоматично. **Недоліки:** - Іноді відбувається **копіювання** всіх елементів при розширенні (дорого за часом). - Менш передбачуване використання пам'яті. --- ### **3. Візуально** **Статичний:** ```javascript [ ][ ][ ][ ][ ] ← фіксований розмір ``` **Динамічний:** ```javascript [ ][ ][ ] → (переповнився) → створюється [ ][ ][ ][ ][ ][ ] і копіюється ``` --- **Підсумок:** > Статичний масив - фіксований за розміром, швидкий і простий. > Динамічний - змінюваний, гнучкий, але іноді витрачає час на перерозподіл пам'яті.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.