struct node//name of struct "node"
{
signed short int value;//holds the value of the node
struct node *next;//points to the next node
};
typedef struct node Node;//allows you to use Node rather then typing out struct node every time
Node *tmp = NULL;//creates first node using typedef
struct node *tmp2 = NULL;//creates 2nd node using struct
tmp = (Node*)malloc(sizeof(Node));//gets memory for the first node
tmp->next=NULL;//set the next pointer of the node struct to null
tmp->next=(Node*)malloc(sizeof(Node));//creates 2nd node
tmp->next->next= NULL;//sets 2nd node next to NULL
tmp2 = tmp->next;//tmp2 is the node after tmp
tmp->value= 7;// sets first node value to 7
tmp2->value= 13;//sets 2nd node value to 13