Data is the bare bones of information, which is why information is often defined as a collection of related data. A person's age, name, and address are all pieces of data. When taken together, it stops being merely data and becomes information; in this case, personal information. So, information is made up of data, and data therefore is a combination of variables and constants since some data can change while other data remains constant. Data also, whether variable or constant, comes in different types. Data like an age is numerical because we use numbers to represent the number of years a person has been alive, whereas data like a name is alphabetical since we use letters to string together words. Though the most basic forms of data tend to fall into either one of those two categories exclusively, it is possible to abstract types to more complex levels. For example, there are many kinds of cars with various manufacturers, colors, models, and so on, and none of these pieces of data are defined by numbers or letters alone. In short, there are countless numbers of data types, limited only by the imagination. However, broadly speaking, there are a number of basic data types-like numbers, letters, and so on-that are discussed later in this chapter. C++ provides support for these basic data types and allows us to easily create and manipulate constants and variables of those types.