Consider the following data structure used for implementing a linked list: struct Node { int data; Node *next; }; Node *head; Without declaring another variable, write a code segment that allocates three nodes for the linked list where the head points to the first node. The data for the first node should be assigned the value 10, the data for the second node should be assigned the value 20, the data for the second node should be assigned the value 30. Keep with as little libraries as possible such as : Solution Desired program with proper comment is given below: #include<stdio.h> #include<malloc.h> #include<stdlib.h> //structure for node struct Node { //structure variables int data; struct Node *next; }; typedef struct Node NODE; void main() { NODE* head = 0; //allocated space to three nodes NODE* node1 = (NODE *)malloc(sizeof(NODE)); NODE* node2 = (NODE *)malloc(sizeof(NODE)); NODE* node3 = (NODE *)malloc(sizeof(NODE)); head = node1; //head points to first node //assign data to nodes node1->data = 10; node1->data = 20; node1->data = 30; } .