Вычислительный процесс на ЭВМ реализуется с помощью программы и данных, которые программа использует или формирует. Но и сама программа представляет собой совокупность данных, и поэтому можно считать, что данные описывают любую информацию, с которой может работать ЭВМ. Все данные в общем случае характеризуются рядом признаков, или атрибутов, в том числе своим значением, смысл которого различен для разных данных. Независимо от содержания и сложности любые данные в памяти ЭВМ выражаются последовательностями двоичных разрядов, или битов, а их значениями могут служить соответствующие двоичные числа. Данные, рассматриваемые в виде последовательности битов, имеют очень простую организацию. Однако для человека описывать и исследовать сколько-нибудь сложные данные в терминах последовательностей битов весьма неудобно.
Более крупные и содержательные, нежели бит, "строительные блоки" для организации произвольных данных можно получить на основе понятия типов данных.
Тип некоторых данных определяется множеством значений этих данных и набором операций, которые можно выполнять над этими значениями в соответствии с их известными свойствами. Следовательно, тип данных специфицирует те операции, которые допустимы над соответствующими данными. На машинном уровне тип данных используется для выбора машинных команд, в выполнении которых участвуют такие данные. Тип данных, кроме того, используется при выборе представления данных в памяти.
В большинстве случаев новые типы данных определяются с помощью ранее определенных типов данных. Значения такого нового типа обычно представляют собой совокупности значений компонент, относящихся к определенным ранее составляющим типам, такие значения называются составными.
Если имеется только один составляющий тип, т.е. все компоненты относятся к одному типу, то он называется базовым.
Поскольку составляющие типы также могут быть составными, то можно построить целую иерархию структур, но конечные компоненты любой структуры, разумеется , должны быть атомарными. Следовательно, система понятий должна допускать введение и простых, элементарных типов. Самый прямолинейный метод описания простого типа – перечисление всех значений, относящихся к этому типу.
Если для значений некоторого типа существует отношение порядка, то такой тип называется упорядоченным или скалярным.