Что такое типы данных?

Мы с вами посмотрели какие-то примитивные инструкции, которые может исполнять наш компьютер, но мы еще не видели как в компьютере представлены.. ну например строки. Для работы с данными, большинство языков предоставляют нам так нызываемую Систему типов.

Система типов

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

В основе системы типов любого языка программирования всегда лежит базисная система типов, встроенных в язык. К базисным, или встроенным, типам данных относятся такие типы, как byte, int, string, boolean, object и им подобные. На их основе среда выполнения или разработчик могут определять типы данных более высокого уровня, например Date или Array.

Понятие тип данных является фундаментальным в теории программирования. Тип данных (или просто тип) — это характеристика определяющая множество значений и операций, которые могут быть выполнены над этими данными.

В зависимости от языка программирования, тип данных может хранить информацию о данных, к которым относятся поля, свойства, методы и другие структуры языка, а также о том, в каком месте, в стеке (stack) или куче (heap) будет выделяться память во время выполнения программы, а также её объем; в каких операциях (как, например, сложение +, умножение *, присваивание = и т.д.) может участвовать тип данных.

Тип данных

Понятие тип данных является фундаментальным в теории программирования. Тип данных (или просто тип) — это характеристика определяющая множество значений и операций, которые могут быть выполнены над этими данными.

Ссылочные и значимые типы

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