Why pointer variable hold new memory at each function call
Why pointer variable (new_node) hold new memory at each function call in my code ?
Code:
#include<stdio.h>
#include<stdlib.h>
struct node
{
struct node *next_node;
};
struct node *addNodeToFront( struct node *list)
{
struct node *new_node = malloc (sizeof(*new_node));
printf("new_node = %p\n", (void *)new_node);
if ( new_node != NULL)
{
// new_node -> next_node = list;
}
return new_node;
}
int main()
{
struct node *list = NULL;
list = addNodeToFront(list);
list = addNodeToFront(list);
list = addNodeToFront(list);
return 0;
}
new_node = 00021230
new_node = 00021260
new_node = 00021270