Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Типы структур

Тип struct — это гетерогенное произведение других типов, называемых полями типа.1

Новые экземпляры struct могут быть созданы с помощью выражения структуры.

Расположение в памяти struct по умолчанию не определено, чтобы позволить компилятору выполнять оптимизации, такие как переупорядочивание полей, но оно может быть зафиксировано с помощью атрибута repr. В любом случае поля могут быть указаны в любом порядке в соответствующем выражении структуры; результирующее значение struct всегда будет иметь одинаковое расположение в памяти.

Поля struct могут быть квалифицированы модификаторами видимости, чтобы разрешить доступ к данным в структуре вне модуля.

Тип кортежной структуры похож на тип структуры, за исключением того, что поля являются анонимными.

Тип структуры-единицы похож на тип структуры, за исключением того, что у него нет полей. Единственное значение, созданное соответствующим выражением структуры, является единственным значением, которое населяет такой тип.


  1. Типы struct аналогичны типам struct в C, записываемым типам семейства ML или структурным типам семейства Lisp.