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;
}