- A structure is a user-defined data type that groups logically related data items of different data types into a single unit. Structures allow related data to be accessed and managed together.
- Structures can contain nested structures as members. Nested structure members are accessed using two period operators (e.g. e1.doj.day).
- Structures can be passed to functions as parameters and returned from functions. Pointers to structures are declared and accessed using arrow (->) operator instead of period operator.
- A union shares the same memory space for multiple data types, allocating only enough space for its largest member. Unions allow different types to share the same memory location.