Here are some strange but legal declarations in C/C++:
int typedef a;
short unsigned typedef b;
By convention, the typedef keyword comes at the
beginning of the line, but this is not actually required by the
language.
The above declarations are equivalent to
typedef int a;
typedef short unsigned b;
The C language (but not C++) also ...