Program to Create Singly Linked List .
void creat() { char ch; do { struct node *new_node,*current; new_node=(struct node *)malloc(sizeof(struct node)); printf("\nEnter the data : "); scanf("%d",&new_node->data); new_node->next=NULL; if(start==NULL) { start=new_node; current=new_node; } else { current->next=new_node; current=new_node; } printf("\nDo you want to creat another : "); ch=getche(); }while(ch!='n'); }
Step 1 : Include This Header File
- For Allocating Dynamic Memory - Alloc & Malloc Functions are used.
- These Functions are included in alloc.h
#include<alloc.h>
Step 2 : Define Node Structure
- Declare start as Global Node Variable
struct node { int data; struct node *next; }*start=NULL;
Step 3 :Create Node
- Allocate memory Dynamically.
- For More Info : Malloc
new_node=(struct node *)malloc(sizeof(struct node));

Step 5 : Fill Information
- Fill Data into Node
- Make its Next Field as NULL.
printf("nEnter the data : "); scanf("%d",&new_node->data); new_node->next=NULL;
Step 6 : Creating Very First Node
- If you are Creating First Node that means you don’t have starting node i.e start = NULL.
- Then Assign that created node as start
- Also Assign Current node as new_node
- First node has 3 names as new_node,curr,start
if(start==NULL) { start=new_node; curr=new_node; }
Diagram :
Step 7 : Creating Second or nth node
- Here start!=NULL
- i.e You have First node
- Then make link between curr and new_node
else { current->next=new_node; current=new_node; }