### Type Specifiers

Type specifiers indicate the type of the object or function being declared. The fundamental data types are:

- Characters
- Floating-Point Variables
- Integer Variables
- Enumerations
- void Type

From these types, you can derive:

- Pointers
- Arrays
- Structures
- Unions
- Functions

The integral types are char, wchar_t (C++ only), and int of all sizes. Floating-point numbers can have types float, double, or long double. Integral and floating-point types are collectively called arithmetic types. In C++ only, you can also derive the following:

- References
- Classes
- Pointers to Members

In C++, enumerations are not an integral type, but they can be subject to integral promotion.

You can give names to both fundamental and derived types by using the typedef specifier.

Unions
References

Arrays
Enumerations
Pointers
Pointers to Members
struct (Structures)
Type of Conditional C++ Expressions