My problem is deleting a node from linked list.
I have two structs :
typedef struct inner_list
{
int count;
char word[100];
inner_list*next;
}
try this (only for the outer list, it wont release the inner one):
void delnode(outer_list *head,char num[100])
{
outer_list *temp, *m. *helper;
temp=head;
while(temp!=NULL)
{
if(strcmp(temp->word,num)==0)
{
if(temp==head)
{
head=temp->next;
free(temp);
return;
}
else
{
m = temp;
temp = temp->next;
helper->next = temp; //link the previous item
free(m);
return;
}
}
else
{
helper = temp;
temp= temp->next;
}
}
printf(" ELEMENT %s NOT FOUND ", num);
}