We have already looked at some of C's basic data types—whole numbers (integers), real numbers (floating point and complex numbers), characters, enumerations, and Boolean values. We called them intrinsic data types since they are built into the language and are always available. By referring to these types specifically as data types, we give focus to the content of variables of those types—containers of data that can be manipulated. However, the use of the term data type is not strictly accurate. In reality, these types are classified in C as arithmetic types. C has other types, some which we have encountered—function types, structure types, and void types—and some of which we have not yet encountered—array types, pointer types, and union types. We will explore array types and pointer types in greater detail in later chapters.
For all of these types, C provides a way to rename them. This is for...