int delete_node(node* vertex)
{
edgesnode* p = vertex -> edges;
while(p != NULL)
{
p -> user -> edges= delete_from_edges_list(p -> vertex -> friends, vertex);
p = delete_from_edges_list(p,p -> vertex);
}
free(vertex);
vertex = NULL;
**if(vertex == NULL)
{
printf("Cass\n");
}**
return 0;
}
When I set the vertex to NULL at the end of the program it says it is null. but in main when i test again using the original pointer to vertex it doesnt give me null. And i don't understand why.
This is my main function code:
node* vertex1 = create_user("Blah");
node* vertex2 = create_user("BlahBlah");
add_edge(vertex1, vertex2);
print_user_data(vertex1);
delete_user(vertex1);
print_user_data(vertex2);
if(vertex1 == NULL)
{
printf("Passed\n");
}
The function above is meant to delete a node from a undirected unweighted graph.