Derived Types

A derived type is a data type that is constructed from one or more existing types. Each of these topics will be explained in detail later on,

Array Types

An array is a contiguous sequence of a fixed number of objects of a specific type.

Structure Types

A struct (structure) is a composite data type consisting of a sequence of designated (named) members, each which may be a different type. Each member of a struct may be accessed individually by its designator. Structs are used to organize data, similar to classes in object-oriented programming, but lack the thiscall feature .

Union Types

A union is a composite data type consisting of overlapping designated (named) members, each of which may be a different type. Each member of a union overlaps in memory, so only one member may be stored and accessed at a time.

Function Types

A function represents a callable unit of code which accepts parameters and returns a value of a particular type.

Pointer Types

Pointers hold a reference (the address of) an object or function of the type from which they are derived. Pointers may be dereferenced to access the pointed-at object or function.

Type defines

A typedef type is an alias for an existing data type. This alias serves as an alternative name for the original type, and is not a distinct type.