Структуры в языке Си отличаются от других типов данных тем, что они позволяют объединять под одним именем ряд разнородных данных. 1
Некоторые особенности структур:
- Возможность хранить несколько полей в одной переменной. 2 Например, структура может содержать имя человека и дату рождения. 2
- Работа с данными как по отдельности, так и с целым объектом. 5 Оператор присваивания может скопировать экземпляр структуры целиком, его можно передать в функцию в качестве параметра или вернуть из функции. 5
- Возможность содержать указатели на самих себя. 2 Это позволяет реализовывать многие структуры данных, основанные на связных списках. 2
- Размер структуры может быть больше суммы размеров полей из-за выравнивания данных. 5
- Стандартные операции (+, -, *, / и другие) нельзя использовать со структурами, так как их смысл неочевиден компилятору. 5