Actually, the definition of node within the typedef is valid. It is a forward declaration. Essentially, the declaration of node is telling the compiler there is a struct node type defined...