Are global variables static to child and parent processes?

view story

http://stackoverflow.com – In my C program, I keep a struct linked list as a global variable. Then later I fork a child process. Now in the child process if I free a node of the linked list, and then end the child process. Will the node be gone in the parent process as well? When I was trying this, it seems the node was still there in the parent process... Is this right? Why? (HowTos)