![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Статичні структури відносяться до розряду непримітивних структур, що представляють собою структуровану множину базових або інших інтегрованих структур. Оскільки за визначенням статичні структури відрізняються відсутністю змінюваності, пам'ять для них виділяється автоматично – як правило, на етапі компіляції чи при виконанні – на момент активізації того програмного блока, у якому вони описані. Ряд мов програмування (PL/1, ALGOL-60) допускають розміщення статичних структур у пам'яті на етапі виконання за явною вимогою програміста, але й у цьому випадку обсяг виділеної пам'яті залишається незмінним до знищення структури. Виділення пам'яті на етапі компіляції є настільки зручною властивістю статичних структур, що в ряді задач програмісти використовують її для представлення об'єктів, що характеризуються змінюваністю. Наприклад, коли розмір масиву невідомий заздалегідь, для нього резервується максимально можливий розмір.
Кожну структуру даних будемо характеризувати її логічним і фізичним представленням. Фізичне представлення звичайно не відповідає логічному, і крім того, може істотно відрізнятися в різних програмних системах. Нерідко фізичній структурі ставиться у відповідність дескриптор чи заголовок, що містить загальні відомості про фізичну структуру. Дескриптор необхідний, наприклад, у тому випадку, коли граничні значення індексів елементів масиву невідомі на етапі компіляції, і, отже, виділення пам'яті для масиву може бути виконано тільки на етапі виконання програми (як у мові PL/1, ALGOL-60). Дескриптор зберігається, як і сама фізична структура, у пам'яті та складається з полів, характер, число і розміри яких залежать від тієї структури, що він описує і від прийнятих способів її обробки. У ряді випадків дескриптор є зовсім необхідним, тому що виконання операції доступу до структури вимагає обов'язкового знання якихось її параметрів, і ці параметри зберігаються в дескрипторі. Інші збережені в дескрипторі параметри не являються необхідними, але їхнє використання дозволяє скоротити час доступу чи забезпечити контроль правильності доступу до структури. Дескриптор структури даних, підтримуваний мовами програмування, є "невидимим" для програміста; він створюється компілятором і компілятор, формуючи об'єктні коди для доступу до структури, включає в ці коди команди, що звертаються до дескриптора.
Статичні структури в мовах програмування пов'язані із структурованими типами. До них відносять: вектори, масиви, записи (у деяких мовах – структури) і множини (цей тип реалізований не у всіх мовах).
Дата публикования: 2014-12-08; Прочитано: 327 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!