All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jagadeesh Bhaskar P <jbhaskar@hclinsys.com>
To: Alphex Kaanoken <akaanoken@softminecorp.com>
Cc: Linux C Programming <linux-c-programming@vger.kernel.org>
Subject: Re: deletion in singly linked list
Date: Thu, 25 Nov 2004 09:19:37 +0530	[thread overview]
Message-ID: <1101354576.3795.1.camel@myLinux> (raw)
In-Reply-To: <20041124154309.5588936e.akaanoken@softminecorp.com>



/************* start of code ***********/
#include <stdio.h>

typedef struct _node{
	int data;
	struct _node *next;
}node;

void printList(node* head){
	node *temp;
	temp = head;
	while(temp){
		printf("%d\n", temp->data);
		temp = temp->next;
	}
	return;
}

int main(void){

	node *a, *b, *c;
	a = (node*)malloc(sizeof(node));
	b = (node*)malloc(sizeof(node));
	c = (node*)malloc(sizeof(node));
	
	a->data = 1;
	a->next = b;

	b->data = 2;
	b->next = c;

	c->data = 3;
	c->next = NULL;

	node *head;
	head = a;
	
	printList(head); //prints 1, 2, 3 -- its OK

	//deletion of b
	printf("Attaching node with data = %d\n", (b->next)->data);
	b = b->next;
	free(b);
	
	
	printList(head); //prints 1, 2, 0 -- NOT OK -- still a->next points to the location of b, even if its freed!! And also making b = b->next and free(b) removes the link b->next pointing to c. So finally c->data is not obtained!!
	return 0;
}

/********** end of code ************/

It is exactly in the same track as Kaanoken mentioned. But the linked list is broken.

Now how can this be fixed???


-- 
With regards,

Jagadeesh Bhaskar P


  reply	other threads:[~2004-11-25  3:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-23  8:24 deletion in singly linked list Jagadeesh Bhaskar P
2004-11-23  8:42 ` Justinas
2004-11-23  8:55   ` mikael-aronsson
2004-11-23  9:09     ` Jagadeesh Bhaskar P
2004-11-23 16:57   ` Justinas
2004-11-23 10:08 ` Glynn Clements
2004-11-24 12:43 ` Alphex Kaanoken
2004-11-25  3:49   ` Jagadeesh Bhaskar P [this message]
2004-11-25 10:11     ` Alphex Kaanoken
2004-11-25 10:26       ` Jagadeesh Bhaskar P
2004-11-25 11:09         ` Alphex Kaanoken
  -- strict thread matches above, loose matches on Subject: below --
2004-11-23  9:00 Bakki Srinivas
2004-11-23  9:13 ` mikael-aronsson
2004-11-23  9:33   ` Jagadeesh Bhaskar P
2004-11-23  9:29 ` Jagadeesh Bhaskar P
2004-11-23  9:59 ` Glynn Clements
2004-11-23  9:35 Bakki Srinivas
2004-11-23  9:55 ` Jagadeesh Bhaskar P
2004-11-23 10:22 Bakki Srinivas
2004-11-23 10:23 Bakki Srinivas
2004-11-23 10:31 Bakki Srinivas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1101354576.3795.1.camel@myLinux \
    --to=jbhaskar@hclinsys.com \
    --cc=akaanoken@softminecorp.com \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.