User-defined data type
a data type based on an existing data type or
other data types that have been defined by a programmer
Non-composite data
type
a data type that does not reference any other data types
Enumerated data type
a non-composite data type defined by a given list of all possible values that has an implied order
Pointer data type
a non-composite data type that uses the memory address of where the data is stored
Set
a given list of unordered elements that can use set theory operations such as intersection and union