### Incomplete Types

Incomplete types are the type void, an array of unknown size, or structure, union, or enumeration tags that have no member lists. For example, the following are incomplete types:

>     void *incomplete_ptr;
>     struct dimension linear; /* no previous definition of dimension */

void is an incomplete type that cannot be completed. Incomplete structure or union and enumeration tags must be completed before being used to declare an object, although you can define a pointer to an incomplete structure or union.

void Type
Array Type
struct (Structures) Type
union (Unions) Type