A DataType is a class of data.

There are two kinds of DataTypes: atomic (FloatingPoint numbers, Integers, single characters, Pointers) and compound (arrays, structs, objects). Compound DataTypes are composed of other DataTypes (be that atomic or other compound ones). DataTypes are the building blocks of DataStructures.

In some ProgrammingLanguages, such as C++, Templates can be used to define classes of DataTypes.