Типы структур
Тип struct — это гетерогенное произведение других типов, называемых
полями типа.1
Новые экземпляры struct могут быть созданы с помощью выражения структуры.
Расположение в памяти struct по умолчанию не определено, чтобы позволить
компилятору выполнять оптимизации, такие как переупорядочивание полей, но оно может быть зафиксировано с помощью
атрибута repr. В любом случае поля могут быть указаны в любом порядке в
соответствующем выражении структуры; результирующее значение struct всегда
будет иметь одинаковое расположение в памяти.
Поля struct могут быть квалифицированы модификаторами видимости, чтобы разрешить
доступ к данным в структуре вне модуля.
Тип кортежной структуры похож на тип структуры, за исключением того, что поля являются анонимными.
Тип структуры-единицы похож на тип структуры, за исключением того, что у него нет полей. Единственное значение, созданное соответствующим выражением структуры, является единственным значением, которое населяет такой тип.
-
Типы
structаналогичны типамstructв C, записываемым типам семейства ML или структурным типам семейства Lisp. ↩