Learn to create custom, complex data types by grouping related data using structures and unions.
Learn to define a structure using the `struct` keyword and access its members using the dot (`.`) and arrow (`->`) operators.
Learn how to define a structure that contains another structure as one of its members.
Understand the key differences between unions and structures, particularly in how they store data in memory.
Learn how to use `typedef` to create aliases or shorter, more convenient names for existing data types.