not just structure any incomplete data type cannot be used with in it.
lets say u have a structure A and u have included the same structure as a member,now when compiler tries to allocate memory to it how does it know how much to allocate because u have declared structure A inside it which is not yet completely defined and it will throw an error incomplete data type not allowed.