You do not need "person *p" to delete a node in front. You cannot point temp to p anymore after bringing back the memory to the operating system. As tabstop mentioned you have to make the head point...