We have seen how to create alternative names, or synonyms, for intrinsic types and custom types declared with enums and structs. Using typedef, we have explored convenient ways to create synonyms for intrinsic types and how the typedef specifiers simplify the use of enums and structs. We have also seen how synonyms make your code clearer and provide added context for the intended use of variables of that synonym type.
We have seen how it is somewhat cumbersome to declare and manipulate multiple instances of structured data of the same type, especially when there are many instances of a single structure type, such as a deck of cards.
In the next chapter, we will see how to group, access, and manipulate collections of data types that are identical in type but differ only in values. These are called arrays. Arrays help us to further model and manipulate, for instance, a deck of cards consisting of 52 cards.