Are you trying to define a new struct? The command struct node* root;
is an attempt to do so. You've previously defined a struct with the typedef command.
Instead, just remove the word struct and do this:
node* root;
root = malloc(sizeof(node));
This creates a variable called root that is a pointer to a node structure.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)