typedef int T; void f( void ) { int T( T ); T( 3 ); } struct { T (T); } fred = { 3 }; typedef int (*a)(int, char); a b; int g(void) { double a; } a c; // typedef x = 3, y = 3; /* GCC */ // x p; // y q; int main() { // typedef z = p = 3; } /* new-style function definitions */ typedef [10] * int arrayOf10Pointers; arrayOf10Pointers x; typedef const * int constantPointer; typedef * [ int ]( [] int ) funcPtr; typedef [ int ] funcProto( [] int ); typedef [ int, int ] tupleType; typedef * [ int, int ] tupleTypePtr; typedef * int a, b; typedef [ int ] f( * int ), g; typedef [ * [static 10] int ] t; typedef [ * [static 10] int x ] f();