A structure is a first class data type which holds Scheme values
or C words in fields numbered 0 upwards. A vtable is a structure
that represents a structure type, giving field types and permissions,
and an optional print function for write
etc.
Structures are lower level than records (see Records). Usually, when you need to represent structured data, you just want to use records. But sometimes you need to implement new kinds of structured data abstractions, and for that purpose structures are useful. Indeed, records in Guile are implemented with structures.