A user defined datatype that allows you to combine several datatypes.
They are like C++ Objects but they do not have methods
Template
Example
Example 2
Example 3
Throwaway structs
If your struct does not need to be used again, then you can make a struct with NO tag and then make some variables with it.
Accessing Attributes
Simple do variable.attributename
you can set it to things, and read it directly
Pointer Access Attributes
Packed Memory
The nature of structs insists that data is close close together.
If you require data to be packed very tightly, then consider putting them all in a struct.
Use this if you are:
Packing several objects into a machine word
Reading non-standard file formats outside of word length i.e 9-bit integers