Foo
struct Foo foo; // variable declaration.
enum Foo;
enum Foo *pefoo; // Pointer to incomplete type
struct Foo; // Forward declaration
struct Foo *psfoo; // Pointer to incomplete type