Сложный тип
Сложный (составной, композитный) тип — тип данных, объекты (переменные или постоянные) которого имеют внутреннюю структуру, доступную программисту.
В разных языках программирования набор базовых сложных типов может несколько отличаться (чаще по названию и деталям реализации). Есть, однако, объективные критерии — однотипность элементов и способ доступа, позволяющие выделить главные представители сложных типов (названия приводятся на примере Pascal, в котором Н.Вирт наиболее чётко сформулировал эти идеи).
- Массив (
array
) — элементы только однотипные, доступ произвольный; - Запись (
record
) — элементы возможно разных типов, доступ произвольный; - Файл (
file
) — элементы однотипные, доступ последовательный (примечание: не путать с дисковым файлом!).
Разумеется, этот список не включает даже всех предопределённых в языках типов, но он отражает большинство моделируемых программистами структур данных.
Очень важной идеей, также родившейся на границе 60-70-х годов XX века, является возможность произвольного конструирования нужных структур из небольшого набора предопределённых типов. Чем адекватнее программист смоделировал обрабатываемые данные в рамках такого «конструктора», тем безошибочнее и долговечнее будет разработанная программа.