Prab February 2016
struct node *next;
Think of the above as just a template for something you will be using in future.
So when you want to structure your data using the above struct you will need to define a variable or instantiate the struct in memory as shown below
struct node mynode;
struct node* mynodeptr = new node;
To answer your subsequent question the above can be done wheresoever you need a
node variable instantiated. So yes it doesn't have to be always done the way it was done in your original question.
struct there's a good discussion on why you would use it. Take a look here