I have problem understanding implementation of linked lists, I get basic idea, but I have one question:
new_node = (node*) malloc(sizeof(node))
Why do we use here (node*)? Why don't we just say:
new_node = malloc(sizeof(node))?
Thanks for the answer in advance.
typedef struct node{
 int value;
 struct node* next_node;
}node;
node* create_node(int v){
 node* new_node;
 new_node=(node*) malloc(sizeof(node));
 if(new_node==NULL){
    fprintf(stderr, "Allocation problem.\n");
    exit(1);
 }
 new_node->value=v;
 new_node->next_node=NULL;
 return new_node;
}
 
     
     
    