C Program Simple linked list

How to write a C Program Simple Linked List in C Programming Language ?


The following program shows how a simple, linear linked list can be constructed in C, using dynamic memory allocation and pointers.

Solution 1:
#include<stdlib.h>
#include<stdio.h>

struct list_el {
   int val;
   struct list_el * next;
};

typedef struct list_el item;

void main() {
   item * curr, * head;
   int i;

   head = NULL;

   for(i=1;i<=10;i++) {
      curr = (item *)malloc(sizeof(item));
      curr->val = i;
      curr->next  = head;
      head = curr;
   }

   curr = head;

   while(curr) {
      printf("%d\n", curr->val);
      curr = curr->next ;
   }


Solution 2 :
/*simple linked list*/
#include <stdio.h>

int main(void)
{
    struct entry
    {
        int value;
        struct entry* next;
    }n1, n2, n3, *list_pointer;
     
    n1.value = 100;
    n1.next = &n2;
 
    n2.value = 200;
    n2.next = &n3;
 
    n3.value = 300;
    n3.next = (struct entry *) 0;
 
    list_pointer = &n1;
 
    while (list_pointer !=n3.next)
    {
        printf("%i\n", list_pointer->value);
        list_pointer = list_pointer->next;
    }
    return 0;
}


Learn More :