Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 405

В противоположность неструктурным структурные типы предусматри­вают доступ к компонентам, из которых они состоят. В этом смысле такие типы всегда задаются конструкторами структур данных со стандартными (для конструктора) сечекторами компонент.

Абстрактная точка зрения на структурные типы требует рекурсивного определения их конструкторов: компоненты — это объекты произвольных типов, в том числе и такие, которые построены с использованием данно­го конструктора. Но здесь не появляется "дурная" бесконечность: цепочка вложенности применения конструкторов всегда статическая и всегда завер­шается базовыми (неструктурными) типами (сравнить с бекусонауровой формой). Иное дело, когда рекурсивно определяется тип в программе. Это тот случай, когда нельзя удовлетворительно трактовать возможность ком­понента объекта иметь тот же самый тип, что и определяемый. Обычное соглашение для данной ситуации — трактовка рекурсивно сти как указателя на объект определяемого типа. Поэтому, как правило, в языках для такой вложенности используются явные обозначения указателя.

Несколько слов о соотношении понятий типа и структуры данных. Струк­тура — это определение того, из чего и как строятся данные некоторого типа. Таким образом, типом данных логично называть множество значений, ко­торые задаются одним и тем же конструктором структуры данных. Следуя принципам абстракции, нужно различать употребление значения как струк­турного объекта, т. е. состоящего из более простых элементов, и как единого объекта оперирования, когда сведений о структуре значения не требуется. В первом случае мы говорим о структурах данных, а во втором — о типах.

В точном соответствии с таким разграничением можно говорить о структу­ре и типе переменной, способной принимать значения. Но по отношению к переменной чаще употребляется термин тип, поскольку основные действия с переменной — принимать и извлекать значение в целом — относится к абстрактному, а не структурному рассмотрению значения.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама