For the rest of this chapter, we adopt the following terminology, hopefully not too inconsistent with common C terminology:
Basic units of data storage (C's variously sized integers, characters, and floating point numbers) and aggregate records (structs and unions).
A type based on some other type (C's pointer, array, and function types).