Read this piece of code:

Code:
/*An empty pointer*/
struct node *root_node;

root_node = malloc(sizeof(struct node));

free(root_node);
Does the entire instance of the structure which the pointer points to get freed up or does only the first element in the structure gets freed up. It may seem trivial but I have no way of actually testing this.