Dear Programmers,

i have a linked list problem. I have have a number, for example 197, and put it in an array----> [0] = 1 , [1]=9, [2]=7

So far so good. Now, i want to make a linked list of these numbers. I have made the following code:

The problem is, that it's nog working. I think there is something wrong in the linking....

Code:int length = 0; char buffer[50]; itoa(num, buffer, 10); //find the length of the charater number for(int i=0; i<10; i++){ if(buffer[i] == '\0'){ length = i; } } printf("%d\n",length); struct node *head; struct node *lp; if(length>0){ //allocate memory for the first elemement. //head = (node*)malloc(sizeof(struct node)); head =(struct node *) malloc(sizeof(struct node)); head->data = buffer[0]; printf("%c\n",head->data); head->next=0; } lp = head; for(int i=1; i<length;i++){ //because 0 is done above) //lp->next = (node*)malloc(sizeof(struct node)); lp->next =(struct node *) malloc(sizeof(struct node)); //lp =(struct node *) malloc(sizeof(struct node)); lp = lp->next; lp->data = buffer[i]; printf("%c\n",lp->data); head->next=0; } /* printing the entire list */ //lp = head; while( lp != NULL ) //continue whilst there are nodes left { printf("%c\n", lp->data ); //print out the current node lp = lp->next; //goto the next node in the list } return head;