1. Containers for data.
2. Names used to identify a variable, class, function etc.
3. Specifies which type of value a variable can store.
4. Keywords (unsigned, signed, long, short) used to change the properties of data type.
5. Sequence of characters started with backslash, which is translated into another character (e.g. "\n" translates into new line).