The compiler consider a structure as defined after the closing brace. So without a special artifice, a structure member can't refer to itself, because the type has not been defined yet.
Not true. At this time, compiler is already aware of the structure declaration. That declaration statement is useless.